if we start a project form scratch, we always chose to build frontend from scratch except checkout, we customize checkout, it's easy to stay up to date using presenters between the controllers and the views, we use normal
decorators Solidus now is super flexible about reading pretty much everything from configs, we can replace behavior without overriding classes,
we only us deface to modify the admin panel, we do not use it for frontend