\@let@token is assigned by \futurelet to the next token after the \@ifnextchar, i.e. it is the next character. The \futurelet\@let@token\@ifnch code means "assign the next token to \@let@token and then process \@ifnch". Inside \@ifnch the \@let@token macro is tested if it is equal to the (first token of the) first argument of \@ifnextchar, i.e. \reserved@d (see the \let\reserved@d=#1).
So, it does nothing, but it is used as a temporary variable. In theory \@tempa could have been used as well but wouldn't be as save as a named special macro. The benefit here is that you can check \@let@token in the false clause of \@ifnextchar using \ifx against other tokens without going to the more complex \@ifnextchar macro again.
\@ifnextchar{\relax}{It was a relax!}{%
\ifx\@let@token$
It was a dollar!
\else
\ifx\@let@token&
It was an ampersand!
\else
something else
\fi
\fi
}
This is useful for parser code as in e.g. tikz-timing and ydoc.