It's illegal via HIPAA to email or fax medical records.
It takes a manual process and therefore labor. A reasonable fee is understandable. A large practice may have a dedicated person processing the volume of requests.
When I moved 5 years ago, my cardiologist sent all of my records to my new doctor free of charge. He made it a point to tell me "these are your records, why wouldn't I send them?" On the other hand my eye doctor, who I saw once a year, charged me a fee for sending them to the new eye doctor. I guess its up to each practice to set their own standards.