şuan için en sağlıklı yöntemin bu olduğunu düşünüyorum.Sonuçta sonradan ekleyeceğin controller sonsuz nitelikte değil.Tek tek elle girmek sıkıntı olur diyorsan modüllerin adını veritabanına kaydedip döngü ile route tanıtabilirsin bunları.Veritabanı ile ilgili olmasada config dosyası örneğini veriyorum daha terli toplu olması acısından.
//config.php
$config['my_controller_list'] = array(
'portal' => '(:any)',
'profil' => '(:any'),
'anasayfa' => '(:any)' );
//routes.php
global $CFG;
foreach($CFG->item('my_controller_list') as $name => $rule){
$route[$name] = $name;
$route[$name.'/'.$rule] = $name."/$1";
}