Usually cPanel -> cPanel involves giving either a full cPanel backup of the site from previous provider, or giving your cPanel logins for them to transfer everything including databases and email. If you don't use databases, then FTP can work in some circumstances as well, even if it's a different control panel. It doesn't necessarily need to be the same control panel, but often it makes it easier and more compatible. For instance, cPanel itself provides a way to transfer third party control panels, although some report they don't work too well. Others like DirectAdmin (which provides a script on their forum), Plesk and Hsphere also allow for transfers from various control panels.
Sometimes large (>500MB) cPanel-based sites can break from the automatic transfer process, so a more manual method is necessary (such as remote SCP or splitting the transfer into databases/web files/etc.)
Hope that helps!
••• PolurNET Communications ••• █ Avoid the Freeze, Enjoy the Breeze! █ A federally incorporated Canadian company at your service since 2004
Proudly #1 on WebHostingJury and #1 on NamePros.com, the largest domain forum on the web!