@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