Windows Phone has a nice manual workaround to this. When you disable WiFi, you can say for just 30m or an hour or four. Excellent because I never remember I've disabled WiFi until I've eaten a ton of mobile data. Of course, it's still a poor substitute for not having proper switching.