xgboost speed difference per API
I believe this is the answer: https://github.com/dmlc/xgboost/issues/651 
the sklearn api uses n_estimators= 100 as default whereas xgb.train is using n_boost_rounds=10

As both refer to the same parameter this could explain the huge difference.