There is a library to drive the sensor you linked:
In the example that comes with the library:
#define TRIGGER_PIN 12
#define ECHO_PIN 13
Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);
You might notice that neither of those are PWM pins on the UNO or other non-Mega Arduinos.
No, it drives two motors. So one PWM output to turn motor A right, another PWM pin to turn motor A left. And the same with motor B. So I need 4 pins.
No you don't. The driver most likely needs a non-PWM pin to set direction and a PWM pin to set speed for each motor.
So, to drive the stuff you have listed, you need exactly two PWM pins. Not 16.