Here's an example of some code from LaTeX's \DeclareFontFamily:
\def\reserved@a{#3}
\global
\expandafter\let\csname #1+#2\expandafter\endcsname
\ifx \reserved@a\@empty
\@empty
\else \reserved@a
\fi
I could be wrong, but to me this looks identical to:
\expandafter\gdef\csname#1+#2\endcsname{#3}
Now, the source for this code comments:
We compare
\reserved@awith\@emptyIf these two are the same we\letthe ‘extra’ macro equal to\@emptywhich is not the same a doing a\letto\reserved@a— the latter would blow one extra memory location rather then reusing the one from\@empty.
But if we're not re-using the contents of \reserved@a after this point (which we're not, as far as I can see), there's no reason to go this roundabout route, right?