It's still possible to get decent results out of GTK, but I've noticed that developers need to stop fighting against the toolkit and do things using the recommended way. Do not try to just make an app that looks and feels like a Windows app or a MacOS app or something like that, if you want that you'll have to use a different toolkit. If you want a guide on how to do things I'd recommend looking through the code to a more recently updated GNOME app, that will give a good idea on how things are supposed to be structured. XFCE tends to be really out of date in terms of code and best practices. I also have a few more comments on your issues.
- Client side decorations: You don't have to use these in a GTK app, it's only common to do this since it saves space. But if you don't like the style then yeah maybe GNOME-styled apps are not for you.
- Themes: I think this is a misconception. GTK doesn't have a real "theming engine", it's just CSS. Changing the CSS has always been unreliable and only meant for advanced users that could keep it updated. If you've ever used one of those "User CSS" web browser extensions then it's kind of like that. I really think you might be chasing rabbits on this one though, I have honestly never seen a desktop that had custom themes that didn't break at some point. The only OS that I've seen that has decent theme support is Android, and it does that by heavily restricting what themes can do.
- System tray icons: The notifications API is meant to replace this.
- Client side decorations: You don't have to use these in a GTK app, it's only common to do this since it saves space. But if you don't like the style then yeah maybe GNOME-styled apps are not for you.
- Themes: I think this is a misconception. GTK doesn't have a real "theming engine", it's just CSS. Changing the CSS has always been unreliable and only meant for advanced users that could keep it updated. If you've ever used one of those "User CSS" web browser extensions then it's kind of like that. I really think you might be chasing rabbits on this one though, I have honestly never seen a desktop that had custom themes that didn't break at some point. The only OS that I've seen that has decent theme support is Android, and it does that by heavily restricting what themes can do.
- System tray icons: The notifications API is meant to replace this.