the reason is security and DRM, is a closed app that needs to do two things, first protect the user account against account theft and protect epic against users bypassing the game DRM.
because of these two reason the launcher needs to talk online with a bunch of servers that I’m assuming most of the time they will be under heavy load. Every time, check if user is genuine, do a bunch of drm checks, repeat.
user clicked on a button in the interface? time to check all his account and drms all over again!
result is unresponsive UI and no way it will change any time soon