If it's TBI of late 1990's vintage, probably uses same TBI as our now-retired 5.7 MerC. The EFI was GM, not MerC or VP.
Pull the Flame Arrestor. Then, as you look down a the TBI unit, with the aft end as Noon, the IAC valve is at about 1030 and held by two TORX screws. You can remove it and see if there's goop on its valve Pintle, and you can clean the hole in the TBI that the pintle works against.
Cleaning the IAC valve (logical agents are Spray Carburetor or Throttle Body Cleaner) is NOT recommended in manuals. One logic is that the cleaner could compromise the motor inside the IAC that positions the Pintle.
Disclaimer: Our MerC would occasionally stall similar to what you describe. Typical scenario: Running on plane 3000+ RPM several miles. Slow for a no-wake zone. Engine comes to idle and quits. This happened maybe one such cycle in 100. We ran that engine 1500 hours. During those hours we replaced IAC, Coil, Plugs, Wires, Cap, Low Pressure Mechanical Fuel Pump (that filled the Vapor Separator Tank/VST) and the High Pressure Electric EFI Pump (in the VST). Most of this was done as routine maintenance, or to resolve other problems than the occasional stalling. But there was still an occasional stall.
Offer: I have a NEW Spare IAC (along with VST with new pump and the TBI ECM and other misc.) that I'd like to sell. We did a complete re-power with a turn-key reman 5.7 from MerC (called a "357 Alpha 4V, carbureted engine), new transom assembly, and SEI upper and lower gearcases.