First off, data recovery isn't usually that expensive. In our lab (www.data-medics.com) we rarely ever charge more than $1,000 for a single hard drive recovery. So $10K does sound a bit overpriced. Typically recovery costs $450-$800. However some labs like to quote extremely high rates for cases they don't think are possible (hoping you'll just walk away). That way they don't have to chalk it up as a loss and can continue to claim 99% success rates (which is actually impossible).
Giving a step by step of data recovery isn't exactly possible either. That's like asking for a step by step or how surgery is performed. Each case is different, the methods will vary greatly depending on the type of failure, brand, model, technology, etc. Sometimes it's rewriting parts of the drive's firmware code to stabilize it and read it, other times it's replacing components. It can actually vary quite a bit. There is no "universal platter reader" as most people seem to think. The original hardware has to be repaired to a somewhat functional state so the data can be extracted. So it means that data recovery engineers need to study and become familiar with pretty much every hard drive design in existance.
Also just like surgery, you're not just paying for what they do, you're paying for what they know. A typical surgery might easily cost $20-30 dollars, and only take an hour or two to perform. But people realize they are paying for the time spend researching, attending college, equipment, supplies, medications, etc.
Data recovery is no different. Just in the room I work in (me alone) I've got over $100,000 in specialized equipment that only does data recovery. In 4-5 years, it'll all be out of date and need to be replaced. I know many people think it should all just be hourly based, but I'd lose money every day if I did that. I need to charge for equipment time, research time, supplies, rent, electricity, specialized tools (some of which we have to engineer ourselves). It's very common that a single case might take a week or more of research to accomplish the task and we actually lose money on the case. Later on, we might receive a similar case and be able to handle it in only a matter of a few hours which helps to offset that time we spent on the first case. Other times we might spend a week of research, only to discover that the task was impossible from the start, and we wasted all that time and never get paid.
And eventually at the end of the day we do hope to make a little money for ourselves.
Keep in mind too that there are easily 1,000 surgeons and 10,000 IT guys out there for every data recovery engineer. So sometimes it really just comes down to time management. If you aren't willing to pay $650 to get your data recovered, someone else probably is and we're going to focus on them instead.