I've used Google Latitude – with mixed success, it often gives huge errors because the system will frequently report to on-line viewers the cell mast location of the phone, even when it's simultaneously reporting to the user the correct GPS location, and the phone had good GPS and GPRS coverage. The problem occurs at random, but frequently in my experience.
I've also tried Phonelocator (free)
Trackr! (free, but didn't work very well for me)
I have semi-used Google Latitude to recover my phone which I lost on a mountain in France. It would have been rather more useful if the phone had reported it's real location rather than a KM away (A frequent and annoying weakness in the system as noted above). But it was good enough for me to establish that it hadn't been taken away by anyone else, so I went back up and found it the next day.