If this is still an idea, here are my 2 cents about your train options:
There are night trains from Zurich going to Innsbruck, Vienna and back - but if you want to visit Neuschwanstein, you would have to get off the train in Innsbruck somewhat at 1 am. I would not do that, if I were you.
The neastest city to Neuschwanstein with a train station is Füssen. There are a few direct trains from Munich, which take about 2 hours, which I would prefer over staying in Füssen. Non direct trains include a change in Buchloe. For this part, you may use the 9 Euro ticket, if it is still available when you travel. I think there are organized tours from Munich as well, if you are into that.
So my suggestion would be a day train from Zürich to Munich (EC train every 2 hours, it takes 3 1/2 hours). If you want to interrupt this, I would suggest Bregenz / Lake Constance (Bodensee) for a stop-over.
For Neuschwanstein, take a local train from Munich to Füssen (9:36 leaves a direct train, taking 2 hours to Füssen).
From Munich to Vienna take one of the direct Railjets (for example RJX 63 leaving Munich at 9:29 am, arriving in Vienna 1:30 pm). Or, again, make a stop-over in Salzburg or Linz.
For your way back to Zürich, either take a flight or use the Nightjet leaving Vienna at 11:27 pm, arriving Zürich at 8:20 am.