This could be easily done with a couple of steps. Sadly I don't have the "know how" to put it in PHP form and make it execute the shell commands.
*
Before rsync-ing ANYTHING, do it with "rsync --dry-run" so it only tests it, and not actually perform the rsync. Best to do this over and over until there isn't a single error.1) Rsync everything from old server to new server (With the exceptions of "etc/fstab" "etc/network*" "backup*" "proc*" "tmp*" "sys*" "dev*" "mnt*" "boot*" "root*") with the options of -auHxvz and --numeric-ds
2) Need to mysqldump everything to an "all_databases.sql" (Otherwise CWP won't work since the core is in a database) and import it on the new server. Also make note of your old "Phpmyadmin" password, because that will remain the same. You will need that to import the "all_databases.sql" on the new server.
3) Need to copy the users, and groups from the old server to the new server (etc/passwd and etc/group files)
4) Login to new server with your NEW Root password. Remember that it's not the same as the old server.
5) Edit apache v-hosts, apache config, apache SSL vhosts, shared IP address at the bottom of homepage, with the new IP address. Also set your hostname to what your old server use to be. It's best this way. For example if your old server was s1.domain.com and your new server is currently set to s2.domain.com; after reaching this step update your DNS record for s1 to be the new server's IP and wait for it to go through.
I actually just did this myself, so that's how I know it works. I did notice FTP server number doesn't show up on the homepage now. So that may have fallen off. Not sure, I could ask igor to look at it and see what didn't migrate over and note it here for research purposes.
If you notice something wrong with my information, please do correct me.
I want to be resourceful for future readers.