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.
