Why are not all the Arduino pins PWM?

No delays are no good. You want to use interrupts. Look at the TimerOne library.