Foreigners who can speak Mandarin fluently are often times treated as a rare breed in Taiwan. They are the minority among the outsiders, as a result, speaking English to foreigners is a response reflection and no matter how good their Mandarin is or how hard they try to communicate in Mandarin, most of the time conversations are spoken in English when they are around. It's a very interesting phenomenon in Taiwan and it's also a frustrating experience and a constant reminder of being an outsider for the foreigners. So why do Taiwanese like to speak English to foreigners even if they can speak Mandarin fluently and why do foreigners prefer, sometimes insist, to speak Mandarin to Taiwanese if they are able to? Except for the reasons mentioned above, it would be interesting to make a poll to see the reasons behind the phenomenon but I don't think there is enough traffic from my blog to make a valid poll but here are a few theories I have:
To show off/to boost self-esteem
Except for business or attending English classes, there is not much chance for Taiwanese to speak English in their daily life. It's a once in a blue moon opportunity to bump into a foreigner who will actually have a conversation with them, and it's a great time to make an impression to their freinds, family, colleagues and also the foreigner they are speaking to. Do foreigners try to make such an impression by speaking Mandarin in a conversation? I'll say some of them need that kind of recognition, not as much as Taiwanese though. Afterall, they don't have be to able to master Mandarin to get sincere yet nearly "insulting" comments like "your chinese is great" even if they can only order dumpling in Mandarin without making the restaurant confused with sleeping.
A great practicing opportunity
Practice, practice and practice is the only way to master a language. One of the reasons that my blog is written in English is to practice my English writting skill; just like many foreigners who study Chinese in Taiwan have a Chinese blog. It's a logical assumption that both Taiwanese and foreigners speak a foreign language in a conversation to practice their speaking skills. As the English speaking Taiwanese outnumber Mandarin speaking foreigners, English is usually the default language used.
To blend in
Foreigners who study Chinese in Taiwan wish to blend in to the culture by speaking Mandarin; a shortcut to be recognized by the locals. On the other hand, Taiwanese speak English to minimize a possible intimidation built up with language barrier creating an atmosphere to feel free to speak.
You aren't really that good
Even if foreigners can speak Mandarin fluently, there are times when conversations get too serious for them to handle, sometimes, it just can't be translated. Once the language switching is made, the impression of 'they aren't really that good' makes the conversation stay in English.