I am far from expert, and thus maybe others will chime in with other potential options, sorry.
I spent quite some time experimenting and I managed to get download and upload to use full bandwidth of both connections.
You need to use src-address-and-port in PCC rules so that connections from same source address but different source port go to different ISPs.
I also managed to force torrents to ISP2 by setting a specific DHT listen port for TCP and UDP and adding a connection mark to all connections with those ports before PCC forcing them to WAN2.
I also managed to force game traffic over ISP1 in the same way (by marking connection before PCC) based on source ports.
The only problem left to solve is how to update the routing table when the dynamic IP of ISP2 changes by DHCP client.
EDIT:
I found this:
:if ($bound=1) do={/ip route set [find where dst-address=0.0.0.0/0 routing-table=WAN2] gateway=$gateway-address }
I just need to adjust it to check if the address assigned to DHCP client is not 192.168.100.0/24 (that's what cable modem gives out when it has not internet access).