Two things, and they are the same thing seen from different sides: your pan is too crowded and not hot enough.
What happens when you put a lot of vegetables into a moderately hot pan: they release water, the water cannot evaporate fast enough because there is too much of it and not enough heat, the temperature in the pan drops below where browning happens, and everything sits in its own steam. Pale, soggy, steamed-tasting - exactly what you described.
What a restaurant does differently is not an ingredient:
Much more heat. Restaurant burners are enormously more powerful, so the pan recovers instantly when food goes in. At home you cannot match that, so you have to compensate the other way.
Much less in the pan at once. They cook in small batches, constantly. This is the compensation available to you and it is the single biggest change.
A properly preheated pan. Hot before anything goes in, not warming up with the food.
So: heat the pan properly, cook half as much at a time, and accept two batches. Same ingredients, same oil, and it is a different dish. That one change accounts for most of the gap.