Do you want the font size change to apply to just the environments' headers (e.g., "Theorem 1" in small, body of the theorem in normal font size) or to both the header and body of the theorem-like environment? Speaking for myself, I'd like to counsel against changing the font size in this manner. Doing so significantly raises the odds of your document looking like a ransom note. And even if you don't irritate your readers directly, your document will likely look more cute than cool. Do you want to create the impression that your theorems, definitions, and propositions are cute?
–
MicoDec 8 '13 at 7:27

You can patch the command that's responsible for setting the statement. There are two different cases: (1) when no theorem package is loaded and (2) when amsthm or ntheorem is loaded. I never use the last package, but always amsthm.

However, I don't understand why you'd want to do this in the first place.

\documentclass{article}
\usepackage{lipsum} % just for the example
\usepackage{amsthm} % optional, but recommended
%\usepackage{ntheorem} % I don't recommend this one
\usepackage{etoolbox}
\makeatletter
\@tempswafalse
\@ifpackageloaded{amsthm}{\@tempswatrue}{}
\@ifpackageloaded{ntheorem}{\@tempswatrue}{}
\if@tempswa
\patchcmd\@thm{\trivlist}{\small\trivlist}{}{}
\else
\patchcmd\@begintheorem{\trivlist}{\small\trivlist}{}{}
\patchcmd\@opargbegintheorem{\trivlist}{\small\trivlist}{}{}
\fi
\makeatother
\newtheorem{thm}{Theorem}
\newtheorem{lem}{Lemma}
\begin{document}
\lipsum[2]
\begin{thm}
This statement will be small in type.
\end{thm}
\lipsum[2]
\begin{lem}
Also this one will have smaller type.
\end{lem}
\lipsum[3]
\end{document}

You could also look into thmtools and its preheadhook key for defining new theorem styles.