We present a combined theoretical and experimental study of the ferromagnetic semiconductor (Ga,Mn)As which explains the remarkably large changes observed on low temperature annealing. Careful control of the annealing conditions allows us to obtain samples with ferromagnetic transition temperatures up to 159 K. Ab initio calculations, and resistivity measurements during annealing, show that the observed changes are due to out-diffusion of Mn interstitials towards the surface, governed by an energy barrier of about 0.7-0.8 eV. The Mn interstitial is a double donor resulting in compensation of charge carriers and suppression of ferromagnetism. Electric fields induced by high concentrations of substitutional Mn acceptors have a significant effect on the diffusion.