I've got a 2003 Supra SSV with the Indmar 350 GM TBI engine. Boat has been running fine, then last weekend I came back to idle after pulling a rider and the boat stayed up at ~1500 RPM. Verified that Perfect Pass was not interfering by loosening the servo cable, double checked that the butterfly was closing. Unplugged a few sensors and I could get it down to 1000, but not lower. Once the boat cooled down it became difficult to start. Required 3/4 throttle to get it up and running, but with lots of black smoke until it cleared up.

Checked for vacuum leaks by spraying carb cleaner around vacuum lines and gasket surfaces. It all checked out.

Turning attention to sensors, initial suspicion was the MAP sensor because when I unplugged it the boat seemed to behave a little better. Google convinced me to look at the IAC sensor. But, since I'm kinda doofy by late afternoon I wasn't paying attention and pulled off the TPS sensor. I happened to have an extra one laying around so I put that on there just in case. Lo and behold, problem solved.

Just wanted to share a problem & solution (for me, anyway) since I couldn't find any threads with this exact behavior.