I guess it depends on why you are setting up an SPF record.
If you are setting it up just so servers will accept your email, then the use of ~all won't matter much.
But if you are like me and less concerned with spam and more concerned with others using your mail domain(s) for unauthorized messages, making sure you have your SPF record correct and using the strict setting is the only thing that makes sense.
That and hoping other mail servers will use and honor your SPF strict settings helps prevent your mail domain(s) from being used from mail sources you didn't specify.
Setting ~all when testing makes total sense, just like setting t=y in your DKIM record to indicate you are in testing mode.
You have the best success with email delivery when you have taken the time to ensure that your mail server(s) not only are configured correctly but also that all components of the the email are properly setup. Proper MX records, proper HELO host names, forward and reverse DNS matching, masking internal hosts in headers etc..
