FWIW, I use a water bath in a plastic dishpan, but I don't run the water continuously, as some here have suggested doing; I start out at a few degrees above my target temperature and wait for the developer temperature to reach the target (100F for E-6 or C-41). The temperature in the bath usually drops enough during this stage that I've got to drain some of it and add more hot (well above 100F) water to bring the temperature up again. When the temperature in the first developer gets within a couple degrees of 100F, I pour some 100F water into the developing tank as a pre-wash and to raise the temperature of the tank and film, and leave the tank in the water bath. Once the temperature in the first developer reaches 100F and the temperature in the surrounding bath is a little bit higher, I begin processing. The water bath temperature doesn't change much over the few minutes required for the first developer to work. I always return the tank to the water bath when I'm not agitating it or pouring chemicals in or out, except for the final rinse step. As I use a stainless steel tank, it's not convenient for me to measure the temperature of the solutions in the tank. By the time I'm done with everything (through the final rinse), the water bath temperature has dropped significantly, but I'm not too concerned by this, since as others have said, it's the first developer temperature that's most critical.
I've never run any sort of formal tests on the results from this procedure, but I've been satisfied with the results I get. Of course, others might have higher standards than I've got, or might get different results because of different water volumes or whatever.