Since Ubuntu 18.04, which is my current distro at the moment, I’ve started to be quite fond of Gnome Shell. A lot of the early design decisions that I disagreed with have either been fixed or are available as extensions. Below are the extensions that I use.
Alternatetab - I use this in order to get Thumbnail and application icon on the tab switching interface. I also choose to only show the windows on the active desktop.