Para falar verdade, a velocidade é determinada pelas pernas de cada um...
Mas respondendo à tua questão, penso que pelo sensor é muito mais fiável, desde que o perímetro da roda esteja bem medido. O sensor vai contar exactamente quantas voltas a roda deu num determinado tempo.
No caso do GPS há margens de erro na localização que podem chegar aos metros e isso pode influenciar em muito os cálculos. Imagina que vais a andar ao lado de uma ravina, se o GPS falhar a localização por dois metros regista-te a fazer uma descida a alta velocidade até ao fundo quando na verdade circulas na horizontal. E depois faz isso "a subir" quando te localiza de novo correctamente.
É por isso que mesmo a altimetria por GPS é pouco fiável. Já detectei várias situações dessas com o meu GPS, e ele até tem o sistema WAAS/EGNOS que reduz em muito o erro de localização.