I am a non-skier, and I spent a week in Zermatt this past New Year.
One great activity to do is take the Gornergrat cog train up to the top (to the hotel) and see the magnificent view of the Matterhorn and the surrounding Alps. In March you still should have a lot of snow. Many skiers take this train as well (included with lift pass), but if you wait until after noon or so the train price goes down in price for those that are paying for the ticket.
We also visited Chillon castle before we arrived in Zermatt, and it is a great example of an ancient/medieval castle to explore, but it could be a very busy and long one day tour, and you also need to check the opening and closing hours and coordinate with your train schedules. The castle is down a bit from the Montreux train station, so you will need to take a local bus, taxi, or prepare to walk about a half hour or so, up and/or down hill. We actually spent the night in Montreux so we were not as rushed.
Regarding hotels, Winter is often low season hotel prices in lake areas like Montreux, but high season in Zermatt. Some hotels also require minimum stays. However, there are a plethora of choices available, including lots of chalets, so it is better to stay in the town so you can walk everywhere easily. You can use this website to check availability and prices:
https://zermatt.swiss/en/plan-book/accommodations.
We were in Grindelwald the year before in March, and the views were nice, but the town is pretty small. The most popular place for non-skiers is Grindelwald First, as it has a lot of activities. However, for several days the lifts and even the trains had to shut down due to high winds, so always check the weather forecast!
Have a wonderful time on your trip, and bon voyage!