I really haven’t had any serious problems moving sites from cPanel to Virtualmin. I had one minor one due to the way cPanel divides Awstats records into SSL and non-SSL, which really only mattered for historical reasons; but it was pretty easy to fix. Not that I remember how, mind you, but I did it somehow or another. Those were live migrations, some database driven, others not.
All of the cPanel sites I’ve tried migrating on my testing server have also been automatic, with the only exception being that the mail filters seem to disappear. That’s actually one of the things I’m trying to figure out how to convert and migrate. As with most things, cPanel has their own way of doing things rather than using a stock Procmail or Sieve method.
I can re-create the filters easily enough, I suppose. It probably would take less time than writing a script to do it.
I’ve had no problems migrating database-driven cPanel sites. I did have a problem restoring a database-driven Virtualmin site, but then I tried again a few days later and it worked. Maybe some update fixed it.
I’m actually thinking about spinning up a server and installing Virtualmin Pro on it, then migrating the cPanel clients a few at a time without telling them. If I tell them, they’ll bitch and moan. If I don’t tell them, most of them probably won’t even notice. Almost none of them ever actually log in to cPanel. A few of them do, but most of them just bother me to do the stuff they should be doing.
I also have another client who’s on his own cPanel server, which needs both the OS upgrade and a storage upgrade (unless we farm out the mail). He’s been a client for… I’d say 15 years off the top of my head, and he doesn’t even know the cPanel password. (I changed it about seven years ago.) So he shouldn’t be a problem.
One thing I want to try is creating a cPanel backup as root, and seeing if it will migrate into Virtualmin using the root password. That would simplify things.