Современный программист без фреймворков это не программист - это если смотреть в будущее. Но для конкретной задачи всегда нужно определиться с объемом работ. Если задача простая, рассчитанная на несколько часов, и не требуется установки фреймворка, то конечно нужно писать на чистом языке. Вообще все зависит от задач.
Я не буду использовать фреймворк если мне от него нужны один роутер или одна авторизация. Я лучше сделаю это на чистом РНР.
Что касается архитектуры, то и на нативном РНР можно создавать контроллеры, модели, представления, роутеры. Они будут легче, чем в фреймворках, так как будут обладать функционалом только для решения конкретной задачи.