Hey,
Although this might sound scary to migrate everything, support are great at these things. I would suggest you ask them to do it but this is what they will do:
1) Copy the accounts from your current hosting to your new
VPS Hosting
2) Change the A record on your current server to your new
VPS Hosting. This means that everything will then be direct to the new
VPS Hosting (emails,
website hosting request etc.). They will also check in the DNS on the new server that SPF, domain keys etc. are correct.
3) (You'll do this bit) Update the nameserver of the domains with 123-reg so they point to the ones for the
VPS Hosting (if clients control their own domains, emphasise that they need to make the change and it is not optional). Also make sure clients start using the new IP, particularly if they use it during ftp etc.
4) After a week or so to make sure everything has propagated properly, you can ask support to close down your account on your shared hosting meaning there is nothing left on that server. At this time, all the nameserver should have been changed as per step three (otherwise the domains which have not been changed will go down).
And that should be everything done and dusted.
