Yes, receiving is very easy. Just doing that has a lot of value because now can't be arbitrarily cut off from your internet identity by gmail/et.al. for no reason.
So a easy way to get started is to receive everything directly and use a commercial (often with low-volume free tier service) relay for outbound until you get comfortable enough to remove the training wheels. (Or never remove them, that's a legit choice as well.)
> filtering out the spam (and only the spam) from your inbound email is harder.
I don't find that at all. Filtering spam is the easiest part. All I do is if SPF doesn't match, goes to spam folder. Beyond that, apply a bayesian filter.
I get no false positives and the spam that gets through to my inbox can be counted on one hand per quarter. Basically none.
That's yet another benefit of self hosting, since my bayesian filter is trained on my personal email specifically, it tends to become very good. Unlike generic gmail filters for example, where there'll always be some mail that ends up in spam no matter how many hundreds of times you mark it not-spam.