Sí, puede usar maxTimeMS con la agregación de pymongo.
c.foo.bar.aggregate([], maxTimeMS=1000)
{u'ok': 1.0, u'result': []}
Si quieres un cursor:
for result in c.foo.bar.aggregate([], cursor={}, maxTimeMS=1000):
... print result
El comando agregado no admitía cursores antes de MongoDB 2.6, por lo que tuvo que agregarse como una opción para evitar romper las aplicaciones existentes.