Any water works, but moderately-paced, smooth water is probably easiest to cast on. Moving water helps remove slack line, and all casts must start without slack, and it helps to clear line from the surface on the lift.
That said, I greatly prefer practicing on a pond or very slow water. It permits the practice of all casts, from both sides. If you want to work on a particular cast, some particular type of water may be best. For example, if you want to practice singles off of your left shoulder side, with a good change-of-direction, then you might some quick smooth water flowing left-to-right. The quicker water will straighten your line back downstream faster than a slow pool.
The same thing can be done in a pond: Make a few casts casts, changing direction with each, then make casts back the other way. For example, off the right shoulder you could make up to 6 or 7 singles, moving the line 180 degrees in the process, then make 2 snakes to get the line back to where you started.
And, of course, the pond is great for challenging the elimination of slack line, and perfecting the lift, and for practicing switch casts, which are the basis of everything anyway.