Personally I don't think smart controls are a good solution (at least as far as I'm concerned!). With plugin parameters ordered by CSParameterOrder, it always just works when you load a plugin, anywhere, on any insert. With smart controls, you have to set up a Patch for each plugin you use, and load it from there (otherwise, if you just load a plugin, none of the smart control mappings will be there), and manually map smart controls, and other downsides.
I don't use smart controls at all for this reason - I think they're a good solution to add simple macro controls to Logic factory content, and for people that want to take the time to set these up for their instruments or patches, but I don't think they're a good general control solution at all. It's too much work to use them imo. And it certainly won't do away with CSParameterOrder files - you shouldn't have to write these custom BTW, you can get Logic to generate them, then it's a simple matter to reorder in a text editor (this is trivial compared to setting up smart controls), and from then on it will aways just work.
I'm less sure why there is an arbitrary control limit to smart controls though, and I can see how that can be limiting for the people that use them. I guess the Logician's saw them as a way to create quick, simple macro controls for a channel strip (and the factory content), not so much to start making complete editors and new GUIs etc. And yes, if there were more smart controls available, ideally the MCU implementation should let you access all of them.