Electrons in the conduction band and holes in the valence band are considered "free" carriers in the sense that they can move throughout the semiconductor crystal. A simple, but in most cases adequate description of carrier movement views each carrier as having a certain velocity based on its temperature and movement in a random direction. The carrier moves in this random direction for a distance called the scattering length before colliding with a lattice atom. Once the collision takes place, the carrier moves away in a different random direction.
The velocity of the carriers is determined by the temperature of the lattice. Carriers in a semiconductor crystal at a temperature T move on average with a velocity of 1/2mv2 where m is the mass of the carrier and v is the thermal velocity. The thermal velocity is the average carrier velocity and carriers actually have a distribution of velocities around this average thermal velocity, with some carriers having a greater velocity and some lower. A model of carrier movement is shown in the animation below.
Although carriers in a semiconductor are in constant random motion, there is no net motion of carriers unless there is a concentration gradient or an electric field. Since each direction of carrier movement is equally likely, then the motion of a carrier in one direction will eventually be balanced by the movement of the carrier in the opposite direction. In the following animation, a carrier moves a distance equal to the scattering distance in a random direction before it collides with a lattice atom (for clarity the lattice atoms are not shown). After scattering off the lattice atoms, the carrier again moves in a random direction. The following animation has 5000 scattering events. The net movement of the carrier is typically very small.