I think this is best done with a dedicated name format.
The idea is to redefine the macro \mkbibnamefamily that prints the family name only for the first name, and then restore it.
By default authoryear uses family-given/given-family, so we define family-given/given-family-bf.
\DeclareNameFormat{family-given/given-family}{%
\ifnumequal{\value{listcount}}{1}
{\renewcommand*{\mkbibnamefamily}[1]{\mkbibbold{##1}}%
\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\ifboolexpe{%
test {\ifdefvoid\namepartgiven}
and
test {\ifdefvoid\namepartprefix}}
{}
{\usebibmacro{name:revsdelim}}}
{\renewcommand*{\mkbibnamefamily}[1]{##1}%
\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}%
\usebibmacro{name:andothers}}
If you prefer all names in family-given
\DeclareNameFormat{family-given-fb}{%
\ifnumequal{\value{listcount}}{1}
{\renewcommand*{\mkbibnamefamily}[1]{\mkbibbold{##1}}}
{\renewcommand*{\mkbibnamefamily}[1]{##1}}%
\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\usebibmacro{name:andothers}}
Or given-family
\DeclareNameFormat{given-family-fb}{%
\ifnumequal{\value{listcount}}{1}
{\renewcommand*{\mkbibnamefamily}[1]{\mkbibbold{##1}}}
{\renewcommand*{\mkbibnamefamily}[1]{##1}}%
\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\usebibmacro{name:andothers}}
Then use one of the formats above via \DeclareNameAlias{sortname}{format}, for example
\DeclareNameAlias{sortname}{family-given-fb}
MWE
\documentclass{article}
\usepackage[backend=biber, style=authoryear]{biblatex}
\DeclareNameAlias{sortname}{family-given-fb}
\DeclareNameFormat{family-given-fb}{%
\ifnumequal{\value{listcount}}{1}
{\renewcommand*{\mkbibnamefamily}[1]{\mkbibbold{##1}}}
{\renewcommand*{\mkbibnamefamily}[1]{##1}}%
\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\usebibmacro{name:andothers}}
\bibliography{biblatex-examples.bib}
\begin{document}
Here is some sample text \parencite{baez/article}.
\printbibliography
\end{document}

Edited for biblatex >= 3.3, the old version can be found in the edit history. Incidentally, it should not be necessary to restore the old definition of \mkbibnamefamily in future versions (i.e. > 3.11) since the names should be grouped https://github.com/plk/biblatex/pull/731.
Tried deleting old compilation files, no change.
– ashaels Mar 23 '14 at 11:09\revsdnampunctis a standard biblatex feature; and this compiles fine for me inserted into the preamble of your example: it's not even part of the macro that I changed! – Paul Stanley Mar 23 '14 at 11:17biblatex(the newest is 2.8a)? – moewe Mar 23 '14 at 14:40\DeclareNameAlias{sortname}{last-first}, all last names wil be bolded. – moewe Mar 23 '14 at 16:27last-first/first-last, or whatever it's called, except with the new macro called in place ofname:last-first. – Paul Stanley Mar 23 '14 at 17:24\mkbibnamelast, though, it seems to take up less code. – moewe Mar 23 '14 at 17:31