Well I think either using SPF and / or DKIM or just using DMARC is the way to go and once everyone are using those we could all just block emails that are not using any of them.
Until then you will get spam.
Without SPF anyone can send emails stating it was legit and was sending them on your behalf, without DKIM people (man in the middle) could modify your emails contents on route.
Using both together or DMARC you are protecting your domain from being blacklisted, well less chance in being blacklisted and you are protecting the contents in your email.
So in my books I have no issues with SPF, DKIM and DMARC.
Our Servers only use SPF atm but for emails that need for the content to say as it was sent I had written a DKIM script that handled that which works great until we get around to fully moving over to DMARC.