I feel that no matter how great the auto detailers are, they will never ever be as detailed as the car owner himself. For example, a dirty towel will increase the chance to scratch the clear coat of the car. But would a detailer guy change a clean towel every time the towel he's using gets some dirty? No. I use up to 10 towels when I wash my X3.
Car detailing does require some skill and knowledge, but not that much. Techniques on washing, drying(important for not creating swirls), clay bar, polish, waxing, and everything are on youtube/internet. And I find washing a BMW is really an enjoyment, why pay someone else to do it?