We consider option pricing using a discrete-time Markov switching stochastic volatility with co-jump model, which can model volatility clustering and varying mean-reversion speeds of volatility. For pricing European options, we develop a computationally efficient method for obtaining the probability distribution of average integrated variance (AIV), which is key to option pricing under stochastic-volatility-type models. Building upon the efficiency of the European option pricing approach, we are able to price an American-style option, by converting its pricing into the pricing of a portfolio of European options. Our work also provides constructive guidance for analyzing derivatives based on variance, e.g., the variance swap. Numerical results indicate our methods can be implemented very efficiently and accurately.