Correct, AnyConnect needs a licence - but it is 100% worth it. It is so much better.
A couple of things you can try; try enabling timestamps on both the client and the server they are accessing:
netsh int tcp set global timestamps=enable
If that doesn't work, try reducing the MTU on the client. Run this command to display all the interfaces:
netsh interface ipv4 show subinterface
Pick out the name of the interface the user is using, and then:
netsh interface ipv4 set subinterface “Ethernet” mtu=1300
Change "Ethernet" to the name of the primary interface on the machine. If this solves it, run the command again and add "store=persistent" to make the change permanent.