I've been to "specialists", worst thing is nothing looks broken and passes all the tests. If they're going to play the parts bingo, I might as well DIY. There's also a long thread of people who never solved this issue.Might be worth picking up an OBDC dongle if you've not already and see if anything is flagging up in the error codes. Otherwise find a local BMW specialist rather than a main dealer and see if they can find anything, you'll drive yourself mad like @IC3 trying to track down an issue with the electric motor side of things if you've got zero idea on cars.
This kind of reminds me of my mates Cooper S, went in for a simple timming chain job and when a mechanic messed it up, the car was never right. I bought that car and the same story, everything looked fine, nothing was giving the symptoms. At the end it turned out to be the Vanos VVT pulley that was supposedly changed and he got charged for it...
It's really difficult to find a good mechanic these days.
