It seems so. If cPanel doesn't offer such a solution. It might be possible to do it through the command line and the cPanel API, but is it worth the hassle?
The hosting provider has access to the private key anyway, so there isn't technically any security risk. In practice however, e-mailing a private key to a "random" support employee might prove to be a security risk anyway. The key might linger in @SICHLExpress' "Sent folder", the employee might not remove the private key from their e-mail system, it might get stored in some kind of backup for who knows how many years (which isn't really an issue if you use new private keys for every cert, as they are just 90 days valid, but still...)
To answer your question @SICHLExpress: Yes, it's possible. If you have access to the webroot of your site (through FTP or some other way) or you have access to your DNS zone, you can generate a certificate for your site. Please read the documentation on the Let's Encrypt site: https://letsencrypt.org/docs/ starting with "Getting Started" , "How Let's Encrypt Works", "Rate Limits" and "Challenge Types". The other documents are interesting too of course.