I understood the question to be about British usage, not general Spanish pronunciation... so here's my crack at it.
1) and 2) As @mgb pointed out, the British are rather notorious for pronouncing foreign words in their own way, and the rest of the world be damned. Even on the BBC World Service, which is produced for foreign consumption, you will regularly hear heinous offenses committed against the Spanish, French, Italian, German, and Russian languages. (Probably most others, too, but those are the only ones where I can tell the difference.)
Ibiza is a singular exception. I believe that the reason is that it's a very popular British holiday destination; Britons on holiday (possibly drunk, and therefore in an unusually receptive condition?) hear the local pronunciation and mimic it. Compare with Zaragoza, which I have never heard a Briton pronounce as "Tharagotha".
3) As far as I'm aware, "Ibiza" is the only example where speakers of (BBC-standard) British English regularly pronounce "Z" as "th". When "z" appears in an English word, it is pronounced as the "z" in "zip"; when it appears in a Spanish word, it's generally pronounced as "s" (occasionally as "th", depending on the region and the reporter); when it appears in a German or Italian word, it's pronounced as "ts" - most of the time. Sometimes they pronounce it as "z" there too, and it makes me want to scream.
This answer obviously contains far too much opinion and should have been posted as a comment, but it ran too long.