Is there a way that we can recommend a friend to one of the Stack Exchange (SE) sites? Like emailing them inside of SE?
You can invite people into a private beta of a new site from the widget on the right sidebar, but we don't have anything like that for sites in public beta or that have graduated.
As others said, an email or an IM would be best in that case.
In my opinion, personalized emails are more efficient at conveying a recommendation than some auto generated message like:
"X would like to recommend to you site Y"
In my opinion, the best way would be to write the message yourself.