Is there to loop through all site collections and change the locale settings (from US to UK), without having to visit each one in turn and change it manually? i.e. using PowerShell. I would also like to include my sites in this process and any new 'my site' created to use the correct regional settings?
Locale is a property of the SPWeb so you have to do something like this
Care should be taken with the -limit argument, it could take a long time
To get site collections created with the right timezone, update the web application that they are in with the right timezone, this can be done in central admin.
To get mysites created with the right Locale, go to the mysite host's regional settings page (http://url/my/_layouts/settings.aspx) and change it there (or use powershell). New sites will get the new settings, existing sites wont.