sure, ROC means that :
1/ the HO was detected (due to any condition : bad level, bad qual , BC, etc etc)
2/ the target cell was found and is not congested (= a tch could be seized by the BSC to welcome the incoming MS)
3/ the serving cell send a HO CMD to the MS
4/ the target cell was not able to connect with the MS (due to bad radio conditions, in 99.9% of the cases)
–> that is the HO failure
5/ the MS succesfully manages to go back to the initial source cell.
—> that is the “Reversion to Old Channel (ROC)”
So your problem is mostly due to radio in the target cell.
The main problem, in my opinion, is WHY are there so many HO detected in the source cell (are there too many HO per call ?? please confirm on this one …)