Cross correlation vs FFT for finding phase between 2 signals
I don't see it as one or the other. You can use the FFT to more efficiently compute a cross-correlation (versus computing the cross-correlation in the time-domain). 

There is lots of good information on this thread, about computing the "phase shift", from the offset of the peak in the cross-correlation function.