As far as I know, rate 25000 is for LAN only, but some say it works for them.
Try rate 20000.
For cl_updaterate and cl_cmdrate you will have to experiment with the values, this is what everyone does. So play around with it. For cl_updaterate and cl_cmdrate, start low like around 40.
Then go to your favorite server, run around a bit and see the difference. If you choke, subtract it by 5, if problem continues, keep subtracting by 5. Or try a higher value like 50, 60, 70, 80, and so on to see if your choke improves. Keep playing with the numbers and you will probably get it fixed, or not.
It really depends on what server you're connected to. If it's one in Germany it's gonna be much slower (higher ping) than one in the same city as you.
That is true. It also depends on the person's system who is hosting the server and how well his/her system can handle the server. They may run dedicated servers that will most likely cause you to choke especially there internet connection. They will need a connection that can support high upload rates.