I've read some good things about Instituto Choc-Mool in Cuernavaca on another forum. There are sooo many immersion programs that you need to really define what it is that you want to accomplish with Spanish ie: converse with mostly Mexicans where you live, business, preparation for travel or whatever.
I've found Guatamalans speak a clear Latin American Spanish with less colloquialisms than Mexicans, and there are programs in beautiful Antigua with excursions to Guatamala City.
You might not want to consider Barcelona, as what is spoken there is Catalon, and not truly Spanish. If you want to learn European Spanish, Salamanca has many programs.
I have no actual personal experience with any immersion program myself, just an Elderhostel class or two and chatting with folks in the course of my work and travel.
Jim Ricks