ReverseEMF: I think you're confusing current flow in a conductor with current flow in a semiconductor.
- Conductor: Movement of free electrons [a property of metals].
- Semiconductor: More like what you're describing [a property of specially doped semimetals or more exotic alloys].
Yes. You are absolutely correct, I am speaking of a semiconductor. Of course, nearly every (non-super)conductor has some semiconductor characteristic. "Free" electrons are not perfectly mobile in a conductance band. For a conductance band is not a band at all, but closely overlapping high energy orbitals in a close packed array of atoms. The electrons need to jockey for position, because, although there are a lot of states, Pauli still applies. In a piece of wire the mass of the electrons crawls along many thousand times slower than the movement of the charge, aka the current.
It's within this jumble of buzzing electrons that the holes exist - they are unoccupied orbitals.