Maybe I'm unlucky, but I get a pretty high volume of incoming spam on my mailserver. However about 99% of it originates from machines that are on essentially all the blacklists, so it's fairly easy to reject it in the SMTP session with a conservative DNSBL check, without getting into spamassassin-style content filtering (I also prefer rejecting in the SMTP session, because on the off chance that there was a false positive, the sender at least gets notified of the non-delivery, instead of their mail being silently eaten).
I agree that outgoing deliverability isn't really a problem for me either. I do have DKIM and SPF set up. I also am a fairly low-volume message source. I think self-hosting is more tricky if you're emitting large volumes of mail, like transactional emails for a business. But as a personal email server it's been fine for me.