Yes for priority queuing based on e.g. DSCP it works perfectly. Use mangle rules like this:
/ip firewall mangle
add action=set-priority chain=postrouting comment="From dscp high 3 bits" \
new-priority=from-dscp-high-3-bits passthrough=yes
add action=mark-packet chain=postrouting comment="Priority 0" new-packet-mark=\
prio0 passthrough=no priority=0
add action=mark-packet chain=postrouting comment="Priority 1" new-packet-mark=\
prio1 passthrough=no priority=1
add action=mark-packet chain=postrouting comment="Priority 2" new-packet-mark=\
prio2 passthrough=no priority=2
add action=mark-packet chain=postrouting comment="Priority 3" new-packet-mark=\
prio3 passthrough=no priority=3
add action=mark-packet chain=postrouting comment="Priority 4" new-packet-mark=\
prio4 passthrough=no priority=4
add action=mark-packet chain=postrouting comment="Priority 5" new-packet-mark=\
prio5 passthrough=no priority=5
add action=mark-packet chain=postrouting comment="Priority 6" new-packet-mark=\
prio6 passthrough=no priority=6
add action=mark-packet chain=postrouting comment="Priority 7" new-packet-mark=\
prio7 passthrough=no priority=7
and queue tree like this:
/queue tree
add limit-at=49M max-limit=49M name=internet parent=pppoe-internet queue=\
ethernet-default
add limit-at=8M max-limit=48M name=internet-p1 packet-mark=prio7 parent=\
internet priority=1
add limit-at=8M max-limit=48M name=internet-p2 packet-mark=prio6 parent=\
internet priority=2
add limit-at=8M max-limit=48M name=internet-p3 packet-mark=prio5 parent=\
internet priority=3
add limit-at=8M max-limit=48M name=internet-p4 packet-mark=prio4 parent=\
internet priority=4
add limit-at=8M max-limit=48M name=internet-p5 packet-mark=prio3 parent=\
internet priority=5
add limit-at=8M max-limit=48M name=internet-p6 packet-mark=prio0 parent=\
internet priority=6 queue=pcq-download-default
add limit-at=8M max-limit=48M name=internet-p7 packet-mark=prio2 parent=\
internet priority=7 queue=pcq-download-default
add limit-at=8M max-limit=48M name=internet-p8 packet-mark=prio1 parent=\
internet queue=pcq-download-default
and all traffic will be neatly prioritized.
Of course "simple queue" also has the function to evenly divide bandwidth among multiple
competing (non-cooperative) users, but not everyone requires that.