Another vote for Luzern. If you haven't been there, it's great. I never tire of visiting, and I live here in Switzerland. Basel would be another great option in December, as you will have the Christmas market going on there. There are plenty of museums worth visiting there as well.
One option would be Madrid, as it's in December, and it would be a bit warmer. There are plenty of flights LHR-MAD, and a nice late flight to get you into ZRH. It's definitely not a smaller city, but the connections and public transportation are great.