I haven't time to test.
ros code
/ip firewall mangle
add action=mark-packet chain=forward comment="Mark forward from WAN1 to Server" in-interface=wan1 protocol=tcp dst-port=22,25,80,443 new-packet-mark=w1-srv
add action=mark-packet chain=forward comment="Mark forward from WAN2 to Server" in-interface=wan2 protocol=tcp dst-port=22,25,80,443 new-packet-mark=w2-srv
add action=mark-packet chain=forward comment="Mark forward from WAN3 to Server" in-interface=wan3 protocol=tcp dst-port=22,25,80,443 new-packet-mark=w3-srv
add action=mark-routing chain=prerouting comment="Mark Route to WAN1" packet-mark=w1-srv new-routing-mark=static-wan1 passthrough=no
add action=mark-routing chain=prerouting comment="Mark Route to WAN2" packet-mark=w2-srv new-routing-mark=static-wan2 passthrough=no
add action=mark-routing chain=prerouting comment="Mark Route to WAN3" packet-mark=w3-srv new-routing-mark=static-wan3 passthrough=no
/ip route
add comment="Static Route to WAN1" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=wan1 routing-mark=static-wan1 scope=255 target-scope=10
add comment="Static Route to WAN2" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=wan2 routing-mark=static-wan2 scope=255 target-scope=10
add comment="Static Route to WAN3" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=wan3 routing-mark=static-wan3 scope=255 target-scope=10