o.k,this vehicle doesn't have the older style security system then,also you have had all the components checked or replaced that are involved with starting of this vehicle except the electronic ignition switch.
This switch can fail commonly on these GM model vehicles as we have had to replace several of these before for this concern.The electronic ignition switch powers up multiple components when turned on and also powers up the crank/starter fuse,relay and then sends the signal to the starter to engage the starter to crank over and start the engine.
Since it will intermittently start we can assume the security system is o.k. on this vehicle as well.This pretty much leaves us with a possible internal electrical failure within the electronic ignition switch.
Sometimes you can do a tap test on these switches to see if the vehicle will crank and start then.If you can remove the plastic steering column cover under the ignition cylinder you will see this switch,then while trying to crank the engine over to fire up tap on this electronic ignition switch and see if the starter engages and the vehicle starts.
If it does then we know that the ignition switch is faulty and needs replaced.
Also another test you can do is if this vehicle has a starter or crank fuse use a test light to test this fuse for power when cranking,if no power is on the fuse when cranking then we can assume the ignition switch is faulty and needs replaced.Very common on these vehicles.
This could be what is failing on your vehicle here.