I too am in the middle of planning for a trip to Switzerland next year and have learned so much from all the kind people here. Many of the places your are planning to go to are also on our list.
As Lucas said, check your prices and compare your actual travel to see which would be best to purchase. That being said here is what I have found. Unless you are doing a lot of train travel, buying the Swiss Travel Pass might not be the best deal. Once you are in Grindelwald and Zermatt you will probably be making use of the cable cars and gondolas which are half price with both the STP or the Half Fare card.
As far as buying early, there is no advantage when using the “local” transportation. Only the trains from say Zurich to Grindelwald or Gridelawald to Zermatt and your return back to the airport.
I priced some of those same trips out and if you buy those tickets early (Super Saver ticket) and using your HFC, they can be pretty cheap. For instance, using the HFC and a Super Saver ticket, I can go from Zermatt to the airport for CHF29.20. Just remember, the Super Saver ticket is for a specific train at a specific time. If you miss that train you lose your money.
One other pass to consider is the Jungfrau Travel Pass. That let’s you use almost all of the transportation in the Jungfrau region for free.
As we are doing a very similar trip, I have found, so far, that getting the HFC only will be my best deal. You may find that since you are going to be there a few days longer that adding the Jungfrau card may be beneficial.
My train travel looks like this: Zurich-Wengen, Wengen-Zermatt, Zermatt-Zurich.. Those three train trips, using my HFC and buying with Super Saver ticket, will only cost me CHF63.60 And even without the Super Saver ticket they would only be CHF155.40
One more option 🙂 Getting a Saver Day pass. Tickets can be as cheap as CHF29 when purchased in conjunction using your HFC and you can use the train all day for that price. http://www.myswissalps.com/sa verdaypass
Get yourself a spreadsheet going in order to compare the costs.
See… I told you I’ve learned a lot from all these great people here.