Here are a couple of easy and free things to check before you start throwing parts at it.
Check your battery terminals for corrosion/looseness (this is a common source of electrical gremlins).
If you have a sunroof check to see if water has come down and dripped onto the BCM due to a clog in the drains (located in the passenger side footwell by the door.
Check ground wires, there are a few in the engine bay, front frame rails, and elsewhere.