I agree, save the rhine for warmer weather. Most of the charming small towns like beilstein and bacharach are closed up and basically dead in the middle of winter. The whole fun of the rhine is biking, boating, sitting in cafe's, climbing castles, sitting outside drinking wine.... Save it for the summer on another trip.
If you haven't already, I would definitely add more days to Berlin before going to some other cities, You will easily fill 4-5 days if you want to savor the city. I was skeptical as well but this is my 5th day and I haven't seen nearly enough. I was surprised because I am from new york, so I was thinking I would have preferred small town cutesy germany or bavaria since I'm used to high culture and big cities.... but Berlin is GREAT! Especially if you are into music, outdoor cafe's, alternative/bohemian vibes, and people watching.
If you are doing that, you could do some trips through some of the sights in eastern Germany. I highly recommend Dresden if you like nightlife, lots of relaxed, late night fun there and about a days worth of musems and sightseeing. From there you could visit leipzig, wittenburg, or erfurt.
Also, one of the best towns in Bavaria is Nuremberg. Gorgeous castle and old town and has a famous wintertime christmas market. Definitely worth a few days.
the bottom line is, Germany can be cold and gloomy in the wintertime so much of the outdoor, pedestrian community charm isn't going to be as out and about so you are probably better off in bigger cities where there are lots of musems and indoor nightlife.