Mit Vorsicht zu genießen, wenn das Ziel ist, den "Komponenten-Core" zu "überschreiben/ersetzen". addViewPath() fügt dem übergebenden Pfad (oder Array von Pfaden) am Anfang des Search-for-views-Arrays hinzu. Zusätzlich erzeugt JControllerLegacy::getInstance eine Singleton-Instanz, also bei weiteren Aufrufen der Methode wird diese Instanz erneut zurückgegeben und keine neue, unabhängige Instanz erzeugt.

Siehe auch https://github.com/joomla/joomla-cms/issues/20300#issuecomment-386815281

public function onAfterRoute()
{
    $option = JFactory::getApplication()->input->getCmd('option');

    switch ($option) {
        case 'com_content':
            $controller = JControllerLegacy::getInstance('Content');
            $controller->addViewPath('/path/to/my/custom/views');

            break;
    }
}