"Cloudflare does not make it easy for you to use their service without giving them DNS access (I think it is only possible through their API)"
You don't need to change to our DNS when activating through a CloudFlare hosting partner.
We also do offer CNAME setup to some users that can't change to our nameservers.
"Then add them to your Cloudflare zone file and this will point all mail back to your previous provider."
Yes, people would most certainly want to have all of your mail and MX records in your DNS settings at CloudFlare (if someone signed up directly). Thanks for answering this:)