It's up to you Mike...
I prefer using transistor outputs to drive a "Load Handler".
My favorite "Load Handler" method is to use opto-isolators. The load-side is isolated from the PLC. The whole point is to protect the PLC as much as possible (reasonable) against unnecessary failures. A failure in the field should never affect the PLC hardware.
Even fusing provides only a certain amount of protection.
Other, less favorable, methods include a Solid-State Switches, or Interposing Relays with very light current demands by the coil.
If you happen to use a PLC with built-in Relay Outputs in the Processor Module, and all of those outputs are used, and then, if you have a failure in one of those output relays, you have to replace the entire Processor Module!
If, on the other hand, you count heavily on a lot of replacement-part business then using relays is the best way to increase your future replacement-part sales... however, I'm sure that is a poor plan for the long term... customers won't like the idea of having to buy the system over, and over, again through replacement parts.
Opto-isolators provide a great deal of peace-of-mind. You don't have to worry about "finding out the hard way".
The cheapest opto-isolators I've seen (aside from building my own with an opto-chip... less than 25-cents!) is from Opto-22. Each module (one per output) is only five or six bucks.