I found a Toyota Technical Service Bulletin (TSB) #EG009-03 which talks about this very problem with the VVTi engines.
The bulletin gives the following steps to diagnosing/fixing the issue:
- Inspect the condition of the valve cover oil baffle as per TSB EG007–02. If camshaft or camshaft position sensor damage resulting from a bent baffle is identified, repair the damage as necessary.
- Make sure the vehicle is in “PARK” with the engine idling.
- Referring to the screen flow below, connect the Toyota Diagnostic Tester to the vehicle and select the VVT Control Bank One Active Test (VVT CTRL B1) from the Active Test Menu.
What the service bulletin talks about next (step #4) is using their diagnostic tester. I know the average Joe doesn't have one of these, so we have to do the next step in a different way. Basically what they are asking the technician to do is to turn the VVTI actuator on manually. For us to do this, all we have to do is apply power to the actuator and listen to see if there is a change in how the engine runs. I guess the first thing you have to do is figure out where the VVTi actuator is located at. I believe on your car it is here:
To test it, unplug the actuator (in the image it's called a Camshaft Timing Oil Control Valve. It's the part which allows the oil pressure to feed to the Controller. After you have it unplugged, have the engine running and up to temp. Then apply power to the actuator. The TSB goes on to say:
- If at this point the vehicle does not run rough and/or stalls when the active test is performed, proceed with Repair Manual P1349 VVTi Fault Isolation Procedure (FIP). If the vehicle does stall and/or runs rough, this indicates the the VVTi control system is operating. Proceed to replace the VVTi actuator following the repair procedures listed on the Technical Information System (TIS): Engine Mechanical Section, Camshaft, Replacement.
When the technician attaches his equipment to your car, he'll be looking to see which way he needs to go with the repairs. I'm pretty sure it will be limited to the three things you mentioned above in your question.