xterm is very good. It's only now that I've moved to Linux on the desktop that I found better with wezterm (for tabs mostly) and foot (for a quick quaketerm).
wezterm is now becoming my favorite: it's not just very fast and responsive, but it supports sixels and has many little "details" I need like ligatures, telling you when a font doesn't support some unicode character, font fallbacks to maximize unicode coverage, and a very active community that can help you with whatever may not be clear from reading the documentation alone (I'm lua-challenged lol)
As for tabs in xterm, and a few other nice defaults I recommend the config I made during my last foray with Linux on the desktop: https://github.com/csdvrx/cutexterm