Thanks for you reply, and for your patience.
The upshot is that on the Arduino Uno I can get 4 motors running properly with PWM, and the other 2 with ON-OFF, which is not a problem since they run large loads with sufficient inertia to dampen the movement, and they have limit switches to prevent self-destruction. It would be possible to run these 2 motors in PWM as well, but with an external 5-dollar DPDT relay that will redirect the PWM train from one of the working pins to the input pin of the Shield running the large motors. Essentially, I use the non-PWM pins at HIGH e.g. (analogWrite (pin 9, 255), or (analogWrite (pin 10, 255) ) to activate the DPDT relay that redirects the PWM output from one motor to the other. A little contrived, not very elegant, but it will work and it's economical.
For the record, I investigated deactivating the irrecv.enableIrIn() functionality in the Irremote.h and IrremoteInt.h utilities to free up Timer 1 momentarily to run PWM on pins 9 and 10 (my large motors) i.e.
irrecv.disableIRIn(); //disable IR receiver momentarily - THIS FUNCTION DOES NOT EXIST IN IRREMOTE.H
.
.
.
analogWrite(Pin 9, 180); //generate PWM pulse train for motors controlled by pins 9 and 10
analogWrite(Pin10, 126);
.
.
.
irrecv.enableIRIn(); //re-activate IR receiver to receive remote commands THIS FUNCTION EXISTS IN IRREMOTE.H
but since there is no recorded evidence (blogs, forums, literature) this will work without wreaking havoc on the ISR's attached to Irremote.h, I've lucidly abandoned the idea. If you think this approach could lead to a potential solution, and know of a work-around within the Irremote library please let me know.