"San" is the norm, but the exceptions are for specific names. According to the
RAE, these exceptions are: Domingo, Tomás, Toribio and Tomé (like the African Country).
So it's said:
- Santa Marta, Santa Catalina, Santa Rosa...
- San Martín, San Felipe, San Homobono...
- Santo Domingo, Santo Tomás, Santo Toribio y Santo Tomé y Príncipe.
Santiago is one that causes confusion too, because people can say "Santiago" without "San", "San Santiago" or even "Santo Santiago". I think the correct form for this one is "San Santiago", but I can't be sure.