You usually don't sleep at all in a game. You could yield (SwitchToThread on windows) if you really want, but it's not like we're still using win9x kernels or something.
Also keep in mind you'll already be sleeping until vsync if you're using vsync in your game.
I may have asked this the wrong way. What I meant was what kind of time step should I use so that it doesn't look like the sprites are flying across the screen at mach 3?
Try doing what I suggested above, and when you're manipulating the speed of your sprites, make sure to multiply the speed by the game time.
I.E
objectPosition.x = objectPosition.x + (speed * gameTime).
This would make sure the speed value for your object is only as fast as the time step. The longer it takes for the next frame (or loop) to begin, the greater that speed value will end up being, and vice versa.
Say it takes .161 seconds to go from frame 1 to frame 2, and you have a speed of 50. 50 * .161. Doing the math would give you a 'speed for this frame' of 8.05, and thus would only move the sprite by that much, instead of the full 50.