I think that Ted and Justin are the most versatile characters in terms of sex.
Ted tops when he's with a bottom, and bottoms when he's with a top. We know that Troy is versatile, he bottomed for Brian. There's a scene in S1 at the gym where he tries to give Brian his number, which is kinda funny considering that he tears up some guys number in S5.
Justin is also versatile. We see him bottom for Brian mostly. With Ethan, no way of knowing, but I would assume they switched off. And then in S4 with the foursome scene he's bottoming. Other than that, every time we see him with someone, he's topping.