Каким образом вы предлагаете снизить время компиляции (у меня нет идей), какие лишние издержки у текущего кода? То, что сказал Андрей (все классы в отдельные файлы, а значит сделать их публичными), плохо по следующим причинам:
1. Размывается API - пользователь может создавать регулярки: руками, через Re.compile().
2. Надо сохранять совместимость с "инфраструктурным" объектам - регулярками конкретных типов (т.к. теперь они публичные). 
Возможно, позже потребуется поддержка поиска по нескольким регуляркам сразу, что может повлечь замену алгоритма, и эти классы могут стать ненужными. Текущее решение лишено этих недостатков и может быть гибко адаптировано к новым требованиям.

*P.S. раньше класса Regex вообще не было, был большой метод search в Re. После рефакторинга появилась эта инфраструктура, поэтому дополнительным издержкам на компиляцию взяться неоткуда.*