Reguła, którą podałem, pochodzi z Wielkiego słownika poprawnej polszczyzny PWN pod red. Andrzeja Markowskiego. Ma Pan oczywiście rację, że nie we wszystkich tego typu zestawieniach użyjemy wariantu ze. W dużym stopniu o wymówieniu danej frazy decyduje zwyczaj językowy – to, jaka forma powszechnie jest stosowana.
Dodam jeszcze, że w przykładzie pierwszym, ze szafą, mamy dwie litery, ale jedną spółgłoskę š.
Pełna słownikowa reguła brzmi następująco: ze – 'forma przyimka: z, używana przed wyrazami rozpoczynającymi się od spółgłoski: s, z, ś, ź, ż, rz, sz, po której następuje inna spółgłoska, oraz przed wyrazami rozpoczynającymi się od kilku spółgłosek; regionalnie (na południu Polski) także przed wyrazami rozpoczynającymi się od spółgłoski: z, s, ż, ś. Przykłady: ze złota, ze srebra, ze szkoły, ze skóry, ze Szczecina, ze wzruszenia, ze mnie, ze snu.
B. Cieśla