It is going to sound stupid but remove the air intake hoses(the big plastic ones that run from 1st air filter area to the engine and have a couple of sensors attached. clean with an electrical safe spray cleaner. spray inside all the plastic tubing all the way to the throttle body and clean the throttle body butterfly and housing. No need to replace anything just clean all inside the air intake system from the throttle body to the car intake air area. spray inside the unit, hosing, tubes, and wipe it out until clean. Repeat until you can wipe through it with a white towel and have minimum residue on the towel.
Please return and post the results. This is an unusual issue and fix. The problem is the engine gets dirty and the system isn't sure what's wrong so it disables things in the engine to " limp mode" in hopes to alert us that it's having a breathing issue like an asthma attack and is hoping for someone to clean out the air pipe and let the engine breathe again, kind of like an inhaler opening the windpipe and patting on the back to help clear the breathing area. Do not get the cleaner on the paint as most spray cleaners break down paint along with grease and anything else that will stick to metal or plastic.
I do this regularly especially if my car feels sluggish or I change the oil filter and " Blow my nose".everyone needs to open some airways as I just need to as well.