Best xray protocol and transmission right now

so there is lots of protocols (vless, vmess, trojan, …) with lots of transmissions (TCP, gRPC, WS, xhttp, …), at the moment I’m using the vless + TCP + reality, wondering if I should switch to others or stick with it?
I had some speed improvements with xhttp but I couldn’t find other clients than v2rayN and V2rayNG (android) which it supports it.

There’s no “best” protocol. Each protocol and transport have their own strengths, pros and cons, and the decision on what to use depends on many factors for the specific usecases.

aren’t vmess and trojan outdated and much easier to detect and cause IP being blocked?

Is you’re in the country with strong censorship, you should try a vless-xhttp-tls/Reality/cdn + backup xtls-tcp-reality, WS+CDN/gRPC+CDN.
P.S: If you want the highest download speed with maximum security, you should upload through CDN and download through Reality or HTTP3+TLS

tanx for the info, I can’t find much info regarding using CDN only for upload, if you have any guides I could take a look into, I would appreciate it.
P.S I’m using 3X-UI panel and I’m not too technical in the field

They are still actual in some cases. For example, if you are proxying through CDN, many people prefer VMess instead of VLESS to avoid exposing the traffic to CDN server.

Also, in some cases like then TLS is blocked by censor to some destinations, people still use raw HTTP as a transport. Using VMess instead of VLESS on top of raw HTTP will make sense in such a situation too.
And for Trojan it’s the opposite - when censors filter “unknown” protocols too (How the Great Firewall of China Detects and Blocks Fully Encrypted Traffic) and look deep into HTTP, Trojan may have some benefits, as it passes the key in ASCII HEX form as first 56 bytes looking like a plain text protocol, and this may mislead the censor causing it to skip filtering such connections.

Here’s simple guide how to setup almost everything you need: integrated-examples/Xray(E+F+H+G+B+A)+Caddy(N) at main · lxhao61/integrated-examples · GitHub
It’s impossible to make a complex config via 3x-ui
You can download Caddy server on release page. Copy example configs & replace domains. This is much simpler than it looks like
P.S: You can remove everything you don’t need and leave only TCP, XHTTP & UDP in configs