MacPherson fa il suo esordio internazionale nel 1995 quando partecipa al Thunderbike Trophy, classe riservata a motociclette derivate dalla serie ma svoltasi in concomitanza con le gare in territorio europeo del motomondiale. In sella ad una Honda disputa due stagioni, culminate con il successo ottenuto in occasione del Gran Premio d'Austria del 1996. Chiude la prima stagione 14º con 26 punti e la seconda al quinto posto con 84 punti ottenuti.
A partire dal 1999 e fino al termine della stagione 2003 è pilota titolare nel mondiale Supersport. Nella stagione d'esordio, in sella ad una Kawasaki ottiene le migliori prestazioni lottando per il titolo e chiudendo al secondo posto con tre vittorie all'attivoː Sudafrica, Paesi Bassi e Germania ad Hockenheim.[1] Corre per la stessa casa anche nelle stagioni 2000 e 2001 ottenendo punti e piazzamenti a podio pur senza successi. Nel 2002 è pilota titolare del team Tena Kate Honda alla guida di una Honda CBR600F. Il compagno di squadra è il francese Fabien Foret. Chiude la stagione al nono posto in classifica piloti. Nel 2003 gareggia con il team belga Van Zon Honda T.K.R. alla guida di una Honda CBR600RR. In occasione del Gran Premio d'Italia a Monza, con il terzo posto in gara, ottiene il suo ultimo podio mondiale.[2] Nel 2004 disputa, in qualità di wild card, il Gran Premio di Germania con una Honda del team Alpha Technik - Van Zon. Nel prosieguo della stagione disputa altre due gare, con una Ducati 749R del team SL Racing come pilota sostitutivo senza ottenere punti.
Parallelamente alla carriera mondiale, ha gareggiato a vari livelli nel campionato britannico Superbike entrando nel novero dei piloti vincitori di gara.[3]
^(DE) Björn Reichert, Vincitori di gare nella BSB, su motorrad-autogrammkarten.de, Björn Reichert. URL consultato il 19 maggio 2019 (archiviato dall'url originale il 23 marzo 2019).