Electrons don't really flow. They just jump to the next atom, which displaces another electron, etc., etc. The holes flow, but then holes aren't really anything.
Depends what they flow in.
For a vacuum, electrons are in free fall but strongly dominated by any electric field (much much stronger
than gravity),
for metals and conduction band in semiconductors electrons flow - they are not bound to atoms.
Holes in semiconductors are more complex, since they emerge from bound (valence) electrons hopping
from atom to atom. Holes are less mobile than electrons, and this I think is the principal cause (but
I may be wrong, solid state physics is not trivial!)
Unbound electrons in metals are actually moving around at random at _very_ high speeds(*) all the time, the
actual macroscopic current is a slow drift superimposed upon that. Due to the electric field all the rapid
random electron motion is correlated and cancels out on the large scale, so we almost never have to worry
about this (fortunately). These electrons occasionally scatter off some of the atoms (which is the cause of electrical resistance)
(*) copper has a Fermi velocity of around 1600 km/s, typical drift velocities in copper wires are measured
in mm/s, 9 orders of magnitude smaller.