Shamrock Rovers remain three points clear at the top of the SSE Airtricity Premier Division table after a hard fought win away to Drogheda United.