I have WHM/cpanel server and i needed to transfer one cpanel account primary/main domain website to another cpanel account to be Addon domain in that new account.

This worked for me:

1) Check if old account have active any Cronjobs or Email accounts so we do not forget to create them on new account.
2) Backup files and move them to new account + extract them and edit mysql database file on new account so we add proper mysql values
3) create mysql database and user on new account and assign proper values to the configuration file
4) unpark domain from WHM/Account Information/List Subdomains
5) Add domain as Addon domain in new cpanel account
6) in new account, move website files backed up from old account into proper Addon domain directory in File Manager
7) backup mysql database in old account
8) restore mysql database on new account
9) site now should work (load from new account)

Please if you have better steps, kindly share