The only problem I have with doing UI completely in code is that it takes so much more time to iterate. Setting constraints in Storyboards is much more “visual” and interactive and it also shows you errors and ambiguities without build/run. When I do layout in code, I usually do it first in the Playgrounds, but even that is much more burden than Storyboards.
But I am 100% agree that Storyboards really makes you lazy about the reusability. That’s the main problem, I guess.