I've used the 3rd party solutions and paid a bundle to do so. I have cancelled them all and now rely on Connection Filtering which is set up in the same area as IMF under the Connection Filtering tab. This is essentially what the 3rd party folks do but it's free! Simply add one or more block list services which are generally free (there are some you can pay for out there). My three favorite in order of preference (I include all 3 on my server but you will want to test to see what works for you) are:
1. Spamhaus (zen.spamhaus.org)
2. Barracuda (b.barracudacentral.org) You must register for this one but it's still free
3. UCEProtect-3 (dnsbl-3.uceprotect.net)
There are many others and variations from each provider as well. After much testing, I believe the 3 above enabled and in the order listed provide exceptional spam protection.