maybe it's something as simple as an air flow problem or a vacuum leak. I had a jet ski that acted just like this, but it was a collapsed exhaust pipe. maybe your O2 sensor is fouled and it's muddling up your air/fuel ratio. Does the exhaust gas ever look black or anything? What year is it? If it's 97 or up, you can get a relatively inexpensive OBD2 reader that interfaces with a laptop and lets you see all realtime sensor data. I got mine from
http://www.scantool.net (ISO version), but there's also the autoenginuity scantool that works for all 3 OBD2 protocols (ISO, PMW, VPW)