Purchasing a domain name

Where is the best place to recommend my client to buy a domain name from?
-I want it to be easy to migrate the site
-it should be good pricing
-I want him to be able to have a email address with his domain for free for example: email@domainname…

It was unclear to me if some companys charge a fee to set up a email address.

I would appreciate any advice!
(the site is being hosted on siteground)

Thank you!

The hosting provides the email address.
You need to point the domain to the website.
I have brought in the past from namecheap

I have been buying the domain name through siteground. All one in one, easiest.