I haven't seen anyone mention Airalo here - it's an app that lets you buy country or region specific ESIMs with a variety of data amounts and term lengths. I've used it in several countries and found the prices reasonable, and it's easy to use. You can also buy the SIMs ahead of time; the expiration doesn't start until they actually start using data.