A recursion to filter out \\
.
\documentclass[10pt]{article}
\newcommand\mymacro[1]{\mymacroaux#1\\\relax}
\long\def\mymacroaux#1\\#2\relax{%
#1\ifx\relax#2\else\unskip\ \mymacroaux\ignorespaces#2\relax\fi}
\begin{document}
\mymacro{first paragraph \\ second paragraph}X
\mymacro{first paragraph \\ second paragraph} X
\mymacro{first paragraph \\ second paragraph\\3rd paragraph }X
\mymacro{first paragraph
second paragraph\\3rd paragraph
Fourth para} X
\end{document}

If you wanted a version that did not deplete the stack, then
\documentclass[10pt]{article}
\newcommand\mymacro[1]{\mymacroaux#1\\\relax}
\long\def\mymacroaux#1\\#2\relax{%
#1%
\ifx\relax#2\relax\def\next{}%
\else\unskip\ \def\next{\mymacroaux\ignorespaces#2\relax}%
\fi%
\next%
}
\begin{document}
\mymacro{first paragraph \\ second paragraph}X
\mymacro{first paragraph \\ second paragraph} X
\mymacro{first paragraph \\ second paragraph\\3rd paragraph }X
\mymacro{first paragraph
second paragraph\\3rd paragraph
Fourth para} X
\end{document}