The problem with hard SPF policies is if you have email which is forwarded via an alias expansion from a different domain.
eg - I have a domain foo.com with correct SPF headers applied.
I send an email to firstname.lastname@example.org which is an alias which expands to numerous addresses, one of which is email@example.com.
This email is therefore forwarded on by the mailserver at bar.com.
The mailserver at blueyonder.com checks the SPF records for foo.com, which says that mail should come from mailserver.foo.com. However, this email is being delivered from bar.com. If you have a hard SPF policy, this legitimate email will fail.
The problem is that no one email provider controls the whole chain, and forwarding could come from many locations.
SPF is useful as an indicator for spam filtering, but if you implement a hard rule, you will have false positives that you can't work around - they never even reach the spam filter of the recipient.
Nice idea, but doesn't cope with the way that legacy systems work. And much of the internet email infrastructure is legacy.