@dc42 I think I am just over thinking this, if I use G1 R2 I can zip back to the print position rapidly with only minor retraction.
prime.g
G91 ; relative pos G1 Z3 F1000 ; raise Z G90 ; back to absolute pos M106 S0 ; fan off M109 ; wait for temp M42 P0 S1 ; turn servo on M280 P0 S100 ; servo home 100 degrees G4 P100 ; wait 1 second ; move near pebble wiper, two movements to come in from ; the right edge so any tail hangs over the far edge. G0 X-35 Y160 F30000 G0 X-42 Y161 F24000 G0 X-39 Y153 F24000 ; move to pebble wiper purge spot ; make a pebble G1 E1.5 F200 ; purge reduce from 5 to 3 G4 P200 ; wait 200ms G1 E5 F300 G4 P200 ; wait 400ms; G1 E10 F500 ; purge G1 E5 F360 ; Pebble Purge M106 S1 ; fan 100%, cool and harden the pebble G1 E1 F240 ; Final Slow Pebble Purge G4 P14000 ; Dwell for 12s, a bit long, need to tune down this. ; do a minor retraction G92 E0 ; reset extrusion G1 E-0.4 F1500 ; Retract a bit ; servo wack the pebble away M280 P0 S0 ; whack! G4 P250 ; Dwell for milliseconds ; zip over the brush G0 X-35 Y123 F24000 ; move across brush G0 X-39 Y200 F24000 ; back over the brush G0 X-35 Y123 F24000 ; move across brush G0 X-39 Y200 F24000 ; back over the brush G0 X-35 Y200 F24000 ; back over the brush G0 X-25 Y131 F24000 ; back over the brush G0 X-40 Y131 F24000 ; back over the brush G0 X-25 Y131 F24000 ; back over the brush M106 R2 ; Cooling Fan Off M280 P0 S100 ; servo home M42 P0 S0 ; servo off ; restore Z before moving tool back G91 ; relative pos G1 Z-3 F1000 ; lower nozzle G90 ; back to absolute pos G29 S1 ; mesh levelling on ; return to position where toolchange was initiated from G1 R2 X0 Y0 Z2 F50000 ; Move to saved position at lightning speed G1 E0.4 F1500 ; Unretract G92 E0 ; reset extrusion