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.
Custom hot corners - In my workflow, I very much prefer that the lower left corner triggers the activites view, rather than the top left one.
Removable drive menu - Not much to say. I like to see if any removable drives are present, and to easily be able to remove them.
Ubuntu appindicators - I like to have some relevant icons of background tasks being shown. E.g. Steam and Dropbox in my case.
Windowoverlay icons - I align the icon at the lower right corner. The size is around 100 in regards to Full HD resolution. YMMV.
Workspace indicator - This gives me the ability to scroll with the mouse to change virtual desktop, without needing to go into the activities overview first.
system-monitor - Enables me to, at a glance, get a sense of changes in computing resources. I show CPU, network traffic and disk read/write usage.
In terms of other desktop related setup, I use Plank to launch and choose active applications/windows. My main preference of starting applications is still to go into activities view and typing.
The final result looks something like this: