„fahren“ ist ein sogenanntes Bewegungsverb und diese werden nach der Regel 3 221 im Perfekt mit dem Hilfverb sein gebildet. Dort heißt es: Intransitive Verben jedoch, die eine Zustands- oder Ortsveränderung, einen neuen erreichten Stand bezeichnen, bilden ihr Perfekt mit sein.
Beispiel:
- Ich bin zu meiner Schwester nach Hamburg gefahren.
Das ist der Normalfall; „fahren“ als Fortbewegung zu einem Ziel. Daher ist das Hilsverb im Perfekt hier „sein“.
- Ich habe einen Sack Kartoffeln nach Hamburg gefahren.
Hier nimmt „fahren“ auch die Bedeutung von „bringen“ an; man denkt also an ein aktives Subjekt, einen Täter, der die Kartoffeln nach Hamburg bringt mit einem Auto etwa.
Und - was entscheidender ist - es tritt ein Akkusativ dazu. Somit wird das Verb „fahren“ transitiv und es wird mit dem Hilfverb „haben“ im Perfekt verwendet.
Das geht bei den anderen Verben der Bewegung auch:
Ich bin nach Italien geflogen.
Ich habe früher eine Cessna geflogen.
Eine weitere Differenzierung ist bei diesen Verben möglich. Dazu § 223 der Dudengrammatik (Duden Bd. 4, S. 122):
_Verschiedene Sichtweise und darum auch verschiedene Perfektbildung ist immer möglich bei Bewegungsverben wie
tanzen, reiten, segeln, paddeln, fahren, fliegen, bummeln, flattern, rudern.
Stehen für den Sprecher/Schreiber (unvollendeter) Verlauf und Dauer der mit dem Verb bezeichneten Bewegung im Vordergrund, wird sein Perfekt mit haben gebildet:
Ich habe als junger Mensch viel getanzt. Sie hat den ganzen Vormittag gepaddelt / gesegelt.
Sieht der Sprecher/Schreiber dagegen mehr die (räumliche) Veränderung bei der mit dem Verb bezeichneten Bewegung, dann wird sein Perfekt mit sein gebildet:
Ich bin durch den Saal getanzt. Sie ist über den See gepaddelt / gesegelt.
Insgesamt gesehen nimmt bei den Bewegungsverben die Perfektbildung mit sein immer mehr zu; sei es, dass die (räumliche) Veränderung in der Bewegung starker empfunden wird als Verlauf und Dauer, sei es, dass die Neigung besteht, das Perfekt einiger Bewegungsverben überhaupt nur mit sein zu umschreiben, auch wenn mit ihnen gar keine (räumliche) Veränderung ausgedrückt werden soll:
Wir sind den ganzen Tag geschwommen/geklettert/geritten u. a. (statt Wir haben den ganzen Tag geschwommen/geklettert/geritten u. a._