The trick is to initiate \small
before the remark, which needs to ensure the previous paragraphs has ended.
\documentclass{article}
\usepackage{amsthm}
\usepackage{lipsum}
\theoremstyle{plain}
\newtheorem{thm}{Theorem}[section]
\theoremstyle{definition}
\newtheorem{zremark}[thm]{Remark}
\newenvironment{remark}{\par\small\zremark}{\endzremark}
\begin{document}
\lipsum*[3]
\begin{thm}
\lipsum[1][1-2]
\end{thm}
\lipsum[2][1-3]
\begin{remark}
\lipsum[3][1]
\end{remark}
\lipsum[4]
\end{document}

If you want to change the font family in remarks, the simplest way is to define a new theorem style.
\documentclass{article}
\usepackage{amsthm}
\usepackage{lipsum}
\newtheoremstyle{myremark}% name of the style to be used
{\topsep}% measure of space to leave above the theorem. E.g.: 3pt
{\topsep}% measure of space to leave below the theorem. E.g.: 3pt
{\sffamily\upshape}% name of font to use in the body of the theorem
{0pt}% measure of space to indent
{\sffamily\bfseries}% name of head font
{.}% punctuation between head and body
{ }% space after theorem head; " " = normal interword space
{}% standard setting
\theoremstyle{plain}
\newtheorem{thm}{Theorem}[section]
\theoremstyle{myremark}
\newtheorem{remark}[thm]{Remark}
\begin{document}
\lipsum*[3]
\begin{thm}
\lipsum[1][1-2]
\end{thm}
\lipsum[2][1-3]
\begin{remark}
\lipsum[3][1]
\end{remark}
\lipsum[4]
\end{document}
