Not really, changing it in a host side is easy, HOWEVER if they look after the registration free they might want you to pay the cost of the domain registration, but changing it in your account wouldn't be hard
Normally, no. Is your host giving you a hard time changing the domain name?
█ bihira.com | 10+ Years of Web Hosting Experience!
█ Shared Hosting | Reseller Hosting | 30 Day Money Back Guarantee
█▀█ cPanel | CloudLinux | R1Soft | Softaculous
█▄█ Find us on facebook and follow us on twitter @bihira
The reason some providers charge for this is most likely because they will go in and make sure your site configuration files are reflecting the changes.
It also depends on the control panel being used. For example, changing the domain on a cPanel account simply changes the domain, not the "user" account. If the "user" is changed, then it will break things such as sql databases.
Generally the provider should do it and with no extra charges and it's hardly a few seconds process. I have heard that there are certain providers who charge or might not do it at all. It depends upon your provider. Ask them.
Hostpaedia - Affordable, Reliable & Secure Web Hosting
Web Hosting : Host Unlimited Websites, cPanel, Softaculous, Servers in USA and Germany
Reseller Hosting : cPanel, Softaculous VPS Hosting : KVM VPS powered by Virtualizor
The reason that some hosts charge for this is simple -- it requires admin time. Although it doesn't require a lot of admin time (which is why the fee is normally nominal), it is almost "busy work", just something that gets in the way. As such, hosts may charge for this to keep clients from making lots of requests