The cam sensor can be intermittent but there is no reason to suspect it in a 'running' vehicle, even if it idles badly. two things about the cam sensor... One, it is frequently an intermittent harness connection to the embedded pins in the harness connector. What happens is over time, vibration breaks the wire at the pin connection and then you are subject to intermittent continuity. Second, if and when the sensor itself does fail, the PCM simply guesses the injector timing based on the crank sensor signal. It has a chance to guess correctly! Therefore, the vehicle may not start, then may start, like Russian roulette. That is where the intermittent no start condition comes from when it is truly a cam sensor issue. Another oddity on the cam sensor... The PCM only requires the cam sensor signal to correctly synchronize the injector firing with the intake stroke of the piston. Once the sequence is determined, the PCM does not need the cam signal to enable the car to continue to run since the sequence is synchronized at the start up. Therefore it is entirely possible for the cam sensor to literally be unplugged on a running engine with no ill effects. If the cam sensor is truly faulty, and the PCM guesses correctly upon startup, the car is just fine to start and run.
By the way, the crank sensor is responsible for ignition timing and oddly enough it too suffers from a harness connection issue, but usually it is a corrosion problem causing intermittent continuity simply due to the proximity of the sensor harness to the elements. But unlike the cam sensor, the crank sensor signal is required at all times for the vehicle to operate.
The one "left field" idea that comes to mind is a cracked reluctor wheel which is where the crank sensor gets it's signal from.
Besides vibration, the only other suspect I could think of would be a load sensitive issue. This could or should be easy to determine and usually it is traced back to a fuel delivery issue.
But back on the topic of the amount of the invoice, it at least sounds like they are trying to address the recurring fault on their own dime?