Is it possible for miners to mine blocks with say for example, only one transaction in it ?
Yes.
Is it not therefore more worthwhile for a miner to verify a block containing only one transaction every time?
What would be the benefit? Miners get all the transaction fees from all the transactions that they choose to include in the blocks they work on. Why would a miner choose not to have those fees?
I would have thought that finding the correct hash with 1 TX would take much less time than one with 1000.
The miner only has to hash the block header. The size of the block header doesn't change. It doesn't matter if there is only one transaction, or if there are 3,000 transactions the block header doesn't take any longer to hash.
It might take a few microseconds longer to build the Merkle Tree to supply the Merkle Root when building the header, but this time is such a small piece of the time spent solving a block that it doesn't really come into play much in the decision.
I know that they also receive the total of transaction fees contained within the block, but I would have thought that regularly cracking small blocks and receiving the fresh coins would be more profitable !
The protocol is designed to adjust the difficulty on a regular basis to keep the average time to create a block as close to 10 minutes as possible. Even if miners could increase the rate at which they found blocks by including less transactions, the difficulty would adjust, and they'd be right back at an average of 10 minutes per block. So they wouldn't get the block reward any more often.