I just did this today - if BMW thinks this is a 2-3 hour job, then they're full of....well nevermind - it took me 1 hour from popping the hood to closing the hood. I had read through the DIYs so I knew what to expect. I also had ordered TxStigs coil removal tool - this is a must have IMO - it makes the whole process cake. Driver's side was easy - I needed to replace my air filter as well so that worked out. Passenger side was relatively easy as well - not as hard as I was expecting. I used a spark plug socket that had a good rubber spark plug retainer - you don't want it holding on to the spark plug too much otherwise the socket will pull off the extension.
To remove/install the spark plugs at the back I used a universal adapter between the socket and a 6" extension - this allows you to drop it right down the tube. There's no need to drop sockets etc down the tube and then try and connect them.
I didn't gap the plugs - they were definitely tighter than the ones I removed, but I'm assuming that with 37k on the plugs, the gap widened with use.
Big thanks to TxStig.