Das was ich jetzt schreib gilt für einen Controller der ATMEL ATMEGA Reihe, sollte aber prinzipiell auch für andere Controller anwendbar sein.

Ich würd es auch mit dem INT 0 bzw. 1 machen.

Wenn einer deiner Counter frei läuft, also immer von 0...max Wert, dann kannst Du ihn in der INT 0 Routine auslesen und den vorherigen Wert aus der letzten INT 0 abziehen.
Der Wert der Subtraktion ist das Maß für deine Radgeschwindigkeit und kann in einem RAM Speicherplatz abgelegt werden.
So kannst Du für alle INT + ( ICP ? ) Quellen den gleichen Timer verwenden.
Bei einem 8 Bit Timer solltest Du in der Timer Overflow Routine noch zusätzliche Speicherplätze mit hochzählen um mehr als 8 ( 16 ) Bit Auflösung und längere Messzeiten zu erhalten.
Für die PWM hätte ich persönlich den OC1A und OC1B verwendet, die beide nur den Timer 1 belegen, wenn dein PWM Mode das zulässt (ohne CTC).