i'd say by practice is the fastest one, just making something - then looking at some part and searching how to improve it or how to make it more efficient, then you find the architecture designs someone is using and start testing it on your own code. This way you can fully understand and explain the impact of applying it.
I don’t think the problem is AI, the problem is the way we use AI and what we ask it to do. Flow comes from having a clear mental model, making decisions. If the LLMs model is making most of the decisions, I’m left trying to reconstruct someone else’s thinking after the fact.