I am switching hosting providers and the new host says they can migrate my cPanel with all it's settings. What actually happens during the migration and what kind of risks do I face? I am running dozens of PHP sites (including WordPress MU) and emails so I am afraid of corruption or misconfigurations. Can anyone help shed light on what I am getting into? Is it better just to do very thing manually?
As far as actual risks, you aren't risking much except some downtime. The transfer process ends up leaving a copy of the site on both servers, so even if it breaks horribly, your data is safe (Note that it's as safe as it ever gets with cPanel, so backup first!)
The transfer process is pretty much taking a backup of your website and restoring that backup on the remote server. If all your changes have been through cPanel (and you haven't been changing things via WHM or SSH), you stand a pretty good chance of having a successful migration. The one thing to be aware of is you need to manually make sure PHP has similar modules/settings on the destination server (the migration process won't enable things like GD for you).
I've migrated hundreds of users via this process, and the biggest issues I had were related to DNS. I don't recall ever having the migration process lose data.