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.
2004 BMW 530i (his) -Titanium Silver -Grey Dakota -Dark Poplar -Premium -Sport -Cold Weather -Xenons -Heated Rear Seats -Active Steering -Logic 7 -Sirius
2015 BMW 435i GC MSport (his-planned) -Estoril Blue -Black Dakota -Aluminum Hex -Premium -Cold Weather -Technology -Lighting -HK Sound
2010 Lexus RX350 AWD (hers) -Smokey Granite Mica -Black -Premium -Comfort -Nav -Tow Prep -Premium Sound -Wood Steering Wheel/Shifter