asyncio is amazing. It has been way faster and more predictable. Home Assistant has a lot of small tasks running all the time with the occasional task taking a long time (ie. trying to reach a device which has been turned off). The number of tasks running simultaneously used to be limited by the size of the thread worker pool, which is no longer the case. A request taking a long time is now just a coroutine pending result in our event loop.
We still offer the old API on top of asyncio, so we have been able to incrementally transition. By now the core and important components are all fully asyncio. Most integrations are not.