I honestly like swagger UI as-is. Grouping, Auth configuration, versioning, layout, try-me-out etc just with a few lines of code. It's snappy and works great for devs.
I don't think you have to give it up, they're just not requiring this implementation and allowing themselves to keep up with the latest versions of OpenAPI separate.
I like the more compact UI, but what I am not seeing, and can't see when looking at the documentation is how authentication is handled. SwaggerUI has configuration to configure your authentication mechanism, which for us is an OpenID Connect integration with our federated auth service. Swagger UI presents you with an "Authorize" button, which when clicked presents you with a modal form to kick off the auth process. I'm not seeing that mentioned in the Elements WebComponent documentation. I guess we could use the Angular or React route and build in an authorization path. But SwaggerUI gives us this level of configuration out of the box. Looking at the Issues on the Elements github, it looks like there is Authorization in some form, as I can see Issues with basic auth not working as some people expected. So maybe some more digging required on my part to understand how the OpenId Connect auth can be integrated.
It is like asking: Can you mom do better than this, well for sure but here we are 🤣🤣 (the wisdom in this is that we already have it, we already use it no worry to work more to improve it)
Microsoft is really dropping the ball up and not producing a UI solution that consumes the open api's Package generates. I like the idea that it's extensible and that the community can write other different friends of the Jews to, but we shouldn't be reliant on that for a solution. Microsoft should offer a default UI experience and if we don't like that we can swap it out for a community alternative