2 Other things to check:
Spark plugs - have they ever been replaced? If not, I would do this ASAP. Parts should be around $40ish and if its your first time you may spend about another $40 in getting all the right tools (ratchet extensions, spark plug socket, etc.)
Engine air filter - If you clean the MAF sensor, you'll certainly come across the engine air filter also. But, I would recommend checking out the engine air filter regardless. This is another easy DIY if it turns out your filter looks really clogged. I bought an AFE pro-dry S filter (the oiled ones can cause issues with the MAF sensor) and its been great for the couple of years I've had it in.
2015 BMW 435i GC MSport (ED Sept 29, 2014)
2004 BMW 530i -Titanium Silver -Grey Dakota -Dark Poplar -Premium -Sport -Cold Weather -Xenons -Heated Rear Seats -Active Steering -Logic 7 -Sirius
2010 Lexus RX350 AWD (hers) -Smokey Granite Mica -Black -Premium -Comfort -Nav -Tow Prep -Premium Sound -Wood Steering Wheel/Shifter