Originalmente escrevia-se com s, já antes da viagem do Cabral, quando brasil—ou brasill ou brasyll—designava apenas o pigmento. Vê esta pergunta sobre a origem do nome Brasil. Mas a partir do século XVI, pela altura em que Brasil se tornou também nome de terra, passa a encontra-se, em português, quer Brasil quer Brazil.
Isto aconteceu com muitas outras palavras: encontra-se a partir dessa altura brasa e braza, cousa e couza, etc. Também acontece o contrário, palavras que agora se escrevem com z, aparecem noutros séculos escritas ora com s ora com z: por exemplo, prazer e praser. No português medieval o s e o z representavam sons diferentes, mas com o passar do tempo os dois sons fundiram-se num só (vê esta pergunta), o que facilitou o surgimento destas duplas grafias. Só com as reformas ortográficas do princípio do século XX, 1911 em Portugal e 1943 no Brasil, é que estas duplas grafias foram eliminadas, ficando apenas a variante etimologicamente correta, que no nosso caso é Brasil.
Agora, por que é que no exterior se preferiu Brazil. Bem, primeiro, não é no exterior todo. Entre as línguas de origem europeia mais faladas, só em inglês é que é com z. Em espanhol, francês, italiano e alemão é também com s. As palavras espanhola (Brasil), francesa (Brésil) e italiana (Brasile) também já designavam o pigmento antes da chegada do Cabral ao Brasil. Creio que a grafia inglesa Brazil se deve a influência da variante portuguesa. Talvez do século XVI ao XIX Brazil fosse mais comum que Brasil. No entanto os dicionários, já desde 1712, sempre preferiram Brasil.