In fast allen Fällen die SIM besser vor Ort kaufen!!!!!
Man bräuchte jetzt mal genauer deine Anforderungen: nur Daten, wieviel?, auch 4G?, auch Sprache? und vor allem: in welchen Ländern konkret??? Und was ist "für eine längere Zeit"?
Eine sog. internationale SIM-Karte, vorher gekauft, würde sich dann nur lohnen, wenn du praktisch ganz wenig Daten für alle Länder zusammen brauchst oder nur erreichbar sein willst (aber für letzteres reicht auch die heimische SIM) und das auch nicht viel über 1 Monat geht. Transatel verkauft 1GB in Asien für 45€, mit lokalen SIM-Karten kostet das gleiche weniger als 10% davon.
Gespräche nach Deutschland am besten über VoIP machen (Skype, Whatsapp ....), außer vielleicht in Thailand und Malaysia. Dort gibt es auch spezielle Vorwahlnummern (prefixes), die auch sehr günstig sind.
Etwas lästig ist, dass man für Reisen durch mehrere Länder häufig in jedem Land eine neue SIM kaufen muss. Wenn man aber länger bleibt, sicher die bessere Lösung, zumal die aber alle wesentlich billiger als bei uns sind. Davon gibts nur wenige Ausnahmen mit europäischen Preisen wie etwa in Singapur. Es gibt aber auch schon die ersten vernünftigen Roaming-Lösungen aus Singapur, Thailand, Malaysia und Hong Kong für große Teile Süd-Ost-Asiens. Etwa so wie eben in Europa vor ein paar Jahren.
Für die einzelnen Länder einfach mal ins Wiki schauen, um so eine generelle Vorstellung von den Preisen so vor Ort zu bekommen:
http://prepaid-data-sim-card.wikia.com/wiki/Category:Asia