Unfortunately Matt Love has it wrong. I was pulling my hair out because of this issue, particularly when sending to people who use Outlook. I did some digging, and if you take a look at the message source you'll notice that Mail does not use the font-family tags around the body text. Therefore, the Mail client will default the body text to whatever it's default is. In the case of Outlook, it's Times New Roman. Beyond that, it's particularly frustrating if you've created a signature and clicked the "Always match my default font", because in that case Mail will wrap the signature with size and font-family, but the body text will look totally different. Worse, in some cases where text is wrapped to indicate font size, it's using the relative CSS term "medium", which can produce strange results. Also, since no font-size for the body text is declared, in Outlook it ends up larger than my signature which is set at 14px, but when viewing through Gmail in a browser, the body is smaller than the sig.
You can also poke around with the actual signature files to get a feel for what's going on:
~/Library/Mail/V2/MailData/Signatures (Mountain Lion, exact paths may differ)
I stripped the font-family declarations (so at least if it does end up as the mail client's default all the text is the same font) and made sure every font-size declaration was in px, and it's somewhat consistent now other than the difference between sig and body.
In my opinion this is a bug; maybe we should all go file it as such through Apple to get their attention. In the meantime, Tom Gewecke's suggestions might be the only solution.
Update: I tried Universal Mailer and as the commenter above describes it works perfectly. You have to pay $4 to get the full version otherwise you get additional text put on the bottom of every email.
Update: It looks like Apple has fixed this is OS X Mavericks. I've done some basic testing and it seems far more consistent now.