I think San Pedro is probably the best place I know to learn Spanish. I studied here for a couple of weeks in 2007 and 2008. There are many schools here that give inexpensive private lessons with local teachers who speak slower and more clearly than in many places. Many of the classes are taught outside under thatched-roof shelters surrounded by lush vegetation on the shores of Lake Atitlán. The town is a tranquil place to study and focus on learning and practicing the language.