MySQL Replication issues on server placed in different continents
MySQL's replication is based on binary log shipping.

Binary log are flushed whenever a transaction commits. Master server sends logs to slave servers, then slaves replays received logs. Moreover, logs are basically replayed in order, in 5.6 or earlier.
So, when there are a huge bunch  of logs, the lags  may occur because the slave has to replay those logs, as well as those logs have to be send to the slave.

Simply put:


Master                   Slave
begin;
queries;
commit;
flushing binary log
                lag1:sending binary log

                         lag2:replaying binary log


Since MySQL 5.7's parallel replication feature has improved, to use the 5.7 might be the answer you want. See document: slave-parallel-workers and slave-parallel-type.

In addition, if slave's workload is very heavy, lags may also occur since slave is prevented to replay logs.

These are just my experiences. I don't know whether they can be applied to your environment.

Addition: compressing binary log, which other people suggests, is also a good solution, i think.