The cost for this is basically an administrative time charge, and is regulated by the states with a base cost, a cost per page, and I believe generally a maximum charge. You can find more information on the per-state charges here: http://www.lamblawoffice.com/medical-records-copying-charges.html
This is an area that's kind of in flux - as practices have moved to EMRs, many of them have only scanned in key items from records - the rest is still in a manila folder either on a shelf in the office or if you haven't been seen in a while in a box at an offsite storage facility. What they're charging for when you request a full copy is to retrieve those records (whereever they may be), copy or scan them, and send that copy along to you. Depending on the chart, etc. that might well be an hour or two of staff time (occasionally more) so offices are allowed to charge but are regulated by state laws/regulations as to how much they charge.
For practices that are fully electronic it may be simpler, but even then some EMRs don't provide a good way to dump the entire chart - you have to print/PDF all of the notes/records, then separately go in and print any attached or scanned documents one at a time.
Finally, if you're moving to a new practice ask the staff at the new practice to request your chart from the old one - I could be wrong, but I don't practices charge each other the same way they charge patients both as a reciprocal thing and because frankly they're not set up for charging other practices.