You said you have no code on the OBD-II unit. Which unit do you have? Does it give you more data? For example, can you look at live data?
Start with basics. Verify that intake air path is clear. Grab a vacuum gauge and use it to see if there is exhaust restriction.
Which spark plug did you put in 2K miles ago? If they were anything but NGK or Denso, just buy new OEM spark plugs *before* doing anything else.
Some of the random parts which you can throw at this problem without doing any detective work
1) Double dose of good fuel system cleaner (Techron/Regane/Redline)
2) battery reset
You would be stupid to throw any expensive parts at this without doing the diagnosis work regardless of who tells you to replace. A sharp technician can narrow down the list considerably using good scanner. A better technician can actually pin point a failing component even before replacing it but these guys are very rare.
Are you interested in becoming one?
Start with basics. Verify that intake air path is clear. Grab a vacuum gauge and use it to see if there is exhaust restriction.
Which spark plug did you put in 2K miles ago? If they were anything but NGK or Denso, just buy new OEM spark plugs *before* doing anything else.
Some of the random parts which you can throw at this problem without doing any detective work
1) Double dose of good fuel system cleaner (Techron/Regane/Redline)
2) battery reset
You would be stupid to throw any expensive parts at this without doing the diagnosis work regardless of who tells you to replace. A sharp technician can narrow down the list considerably using good scanner. A better technician can actually pin point a failing component even before replacing it but these guys are very rare.
Are you interested in becoming one?