You ideally need to get the codes read, it will indicate where the problem lies, I think it will probably be the cam sensor, not a difficult job but takes a bit of time, the car only has one lambda sensor, if it has done more than 100k miles it is worth changing anyway.
Simple things just to check, are all the induction and vacuum hoses to ensure they are not perished and split, this can sometimes cause similar problems. Also check the air box feed pipe has not become disconnected, as it is quite long it does cause a slight pause around 3500 a 4000 revs, which would become worse if broken or blocked.
That said key things with these cars is get the codes read, as it is rarely plugs, leads etc, it is normally some sensor playing up.
If you look at the Wifi Diagnostics thread, you can get yourself setup quite cheaply and quickly for code reading, and if you post the codes here we can help you diagnose the fault.
http://zroadster.org/threads/wifi-diagnostics.4619/