When I did both drive shafts in my 2005 330xi I followed a different procedure, I removed the strut and the steering arm from the bearing carrier. Then you can swing the carrier out to remove the shaft. I found that procedure far easier than removing the control arm.
Both axles came out easily by simply pulling them, and went back equally easily by giving them a good push. One drive shaft refused to go in easily at first, so I realigned the spring clip on the splines so it is centered. Went in on the second try.
I would not replace the entire original drive shaft if the CV joint is still good. I have had problems with aftermarket shafts, plus it's cheaper to replace the boot alone. I use GKN boots, they are cheap.
Unless you live in the rust belt, the hardest part is removing the axle nut. You need an impact wrench for that. I have a Ryobi 1/2" cordless impact wrench, and using a heavy-duty impact socket both axle nuts came off easily. Your experience may be different, there was no rust on mine.
To separate the CV joint I put the shaft on a vice and using a drift with a 3 lbs hammer I just pound it off. Unless your spring ring is mangled it should come off relatively easily. I mark the CV joint so it will go back in with the same orientation.
I have not done the inner joints, those rarely go bad.
I find that replacing the CV boot is such an easy job that I do not foresee buying a complete drive shaft unless the old is damaged. I did not replace the seal in either case and had no leaks.