I worked in a custom car shop, our leather guy was a genius and made it look much easier than it really is.
A couple things I picked up rom him. Replace the foam cushions, the leather will fit better. Make sure the leather is good and tight, really tight. Make sure you save all of the metal hooks, and remeber where BMW put them when you put the new leather on. I saw our guy use a heat gun a lot too.
I hope any of this helps you.
I want to replace my carpet, anyone seen any good deals on carpet? Mines not in bad shape, I just want to switch to black instead of grey.