I used to have intermittent with an internal card reader connected to a motherboard header. Sometimes it was there sometimes not. when it wasn't, the quick solution was to take the connector off the header and put it back on again.
Eventually, with the system switched off, I dribbled a little alcohol into the plug (not the header) and pushed the plug onto and off the header a number of times. Let it dry out well before switching back on.
Since then it hasn't happened again - so I suggest bad connections are possibly the issue. It's very easy to get a thin film of contamination on plugs/sockets over time.