I feel it's too difficult/too much of a hassle to host an SMTP server these days. With all the SBL, RBL, IP reputation lists, etc.. provider lists, it's almost impossible to keep all email going where it should. A lot of time it's the customers fault for their mail being rejected but I have seen large IP ranges listed on reputation lists, I know that MIPSpace has a /16 of Singlehop's listed at the moment causing rejects to any mailserver using BarracudaNetworks Firewall.
If you're hosting SMTP on your own VPS, chances are your IP is not in any reputation lists and if you're not sending too much mail, it can take quite a long time to build up a decent Rep. and ensure proper delivery to places like Outlook.com. If you want to run your own inbound it's no problem but I feel it's better to outsource SMTP to an email provider like SendGrid etc..
Personally I run GApps. for all my mail but I'm not too concerned with the NSA, sure they can see all my data but so can Google and they're the ones more likely to use it. It works, it's free (I have an older account) and I never have to worry about my mail ending up in SPAM or being bounced back.