There is also some markov switching model code in in a recent text by Carol Alexander. You can find code for this on the CD accompanying the following book (which I recommend btw):
Alexander, C. (2008) Market Risk Analysis, Volume II Practical Financial Econometrics, John Wiley and Sons Ltd.
I haven't looked at it in a while but I believe it is programmed using maximum likelihood. That might sound scary at first but I think EViews log likelihood object is fairly easy to learn by reading the example code. You just have to make sure you are specifying the liklihood function properly.
I programmed some basic deterministic regime switching GARCH models in EViews, but have not attempted markov switching models.
The EViews documentaion suggests, and I tend to agree, that the EViews State Space object can be used to facilitate the estimation of such models. That is one of those things on my list to try at some point but I haven't gotten there yet.
Note, I believe there are also Markov Switching implementations available in R. Therefore, it would be very easy to port between the two programs. Personally, I like to use R from EViews. You just send it the data you want it to analyze and specify what you want to be done (based on which functions you are running) and then just pull the data back into the friendly environment of EViews for further analysis.
If you have a recent version of EViews, the programming to make EViews talk to R is very easy. You can cut and paste and then adapt to your needs. I do this often with Matlab as well. But R is free and the statcomm program is also free. The setup is all in the documentation.