It is better to have an OSHA Outreach Trainer inside your own contracting company.
Seriously, if you play your cards right and have the right person in-house, for less than $2k you have an authorized trainer in-house that can go out to jobsites and hold the training. And our trainer wears other hats throughout the week as well (buyer, PM). But you have to have that magic mix of experience for it to work.
In the old days when we got outside training, we did it back in the shop, usually in groups of 8 or less. On biggies, like OSHA 10 and HAZWOPER, we'd break it up into multiple days. So Group A did something on two consecutive Fridays, Group B did it on two consecutive Thursdays, etc. But it got expensive, so we sent one of the buyer/PMs to train the trainer training at the local university. It helped that he had the safety experience from a prior employer. Ever since then, he's been our safety trainer. Powered lifts, fall protection, OSHA 10, confined space, etc.