The starter will only turn it 300-400 RPM it will not turn at 900 or 2000 RPM.
If your timing is good check for vacuum leaks they can cause a rough start, the ECU is not properly metering how much air is coming in
I've also heard people having bad CLT - coolant temp sensors for the ECU. Ours is located in the bottom of the intake manifold, might be worth troubleshooting or replacing it.