I have greylisting and MailScanner to cover spam. filtering. Personally I use spamd on my OpenBSD firewall for greylisting, but have used a Postfix greylisting setup in a corporate environment. MailScanner combines SpamAssassin and Anti-Virus scanning of your mail before delivery. I rarely get spam.
Making sure not to run an open relay isn't all that hard, it's even easier if you use a webmail interface outside your own network.
Learning how to run a small mail server isn't hard. Yes a little up front research is mostly all it takes. My mail server runs mainly hands off. A little up front cost in time saved a recurring monthly cost.
My employer uses Exchange (for some reason still running Exchange 2003!!!) and I have always struggled getting mail clients to play properly with exchange. I have finally given up and am running Outlook virtually.
However if I must, I will.