  We consider the following matching-based routing problem. Initially, each
vertex $v$ of a connected graph $G$ is occupied by a pebble which has a unique
destination $\pi(v)$. In each round the pebbles across the edges of a selected
matching in $G$ are swapped, and the goal is to route each pebble to its
destination vertex in as few rounds as possible. We show that if $G$ is a
sufficiently strong $d$-regular spectral expander then any permutation $\pi$
can be achieved in $O(\log n)$ rounds. This is optimal for constant $d$ and
resolves a problem of Alon, Chung, and Graham [SIAM J. Discrete Math., 7
(1994), pp. 516--530].
