I've rarely used the ME3K series, so I'm going to address general QoS, rather than specifics for a ME3400.
One important concept to understand, your QoS needs first to be applied to the "bottleneck" interface, and if that's not possible, you often can force an upstream interface, that you control, to be a bottleneck. This so traffic will queue at an interface where you've have the QoS policy you want.
On 3K switches, often you need to globally enable QoS for it activate. Also, on those switches, often there are a limited number (often 4) hardware queues for QoS. Lastly, such switches often support one queue being a priority queue, which when there's congestion, will always be dequeued first (if within it's optional shape limits).
Your task is to insure your DSCP EF traffic is directed to the PQ. (BTW, also on many 3K switches, once you globally enable QoS, you need to "trust" DSCP on ingress interface otherwise the switch will reset the ToS byte to zero.