You can transfer the email accounts and messages for a particular domain, from one cPanel server to another, by following the steps below.
Let's call the domain yourdomain.com for example. Make sure that you have yourdomain.com added as Parked or Addon in cPanel at the destination server.
Transferring the email accounts
Open your preferred FTP client, connect to the hosting account where the email accounts/messages currently are and navigate to the etc/ folder (located under /home/cpaneluser/etc/). There you will see a folder named yourdomain.com (the name of the domain you want to transfer the accounts/messages for). Download this folder anywhere to your local computer. This folder contains the email addresses (server configuration setup, encrypted passwords, etc.) associated with the corresponding domain.
Now connect with your FTP client to the server where you want to transfer the accounts. Navigate again to the etc/ folder and upload the previously downloaded yourdomain.com folder.
With this, the transfer of the email accounts is completed.
Before proceeding with the messages transfer you should remove or rename the downloaded yourdomain.com directory on your local computer.
Transferring the email messages
Simply repeat the process from step 1. This time, however, you should navigate to the mail/ folder (located under /home/cpaneluser/mail/). Download the directory called yourdomain.com to your local computer. This directory contains the messages for yourdomain.com. After that connect to the other account where you want to transfer the messages and upload the folder yourdomain.com to the mail/ directory.
With this, the transfer of your email accounts and messages is completed.
Now you can access cPanel -> Email accounts of the destination hosting account and check your transferred emails.
Your DNS provider will be able to assist you with the MX record changes, so you can point the mail-flow for yourdomain.com to the new hosting server.