Can I set an alternative time source? If I set the time manually on my Desire (rooted, CM7) it appears to lose up to a couple of minutes every day.

Unfortunately, since the latter part of last year (possibly since the change to UK daylight savings time) T-mobile UK seem to be running around four minutes behind the rest of the UK. At least it's consistent, so my best option at present, but I have still missed a couple of trains as a result :(

Is there a way to configure a different time source so it can sync to something on the net? Or do you have any other ideas?
Indeed. Since you're rooted, I suggest you use the freeware Sytrant. It also allows you to choose which time server you wish to sync from as well as allowing a user to specify a daily interval at which the time can be updated automatically.