A brief explanation...
rate is a measure of the overall bandwidth your client will attempt to utilize. It defaults to 10000, but this will cause choke on most servers. eGO servers cap the rate at 25000, so regardless of your setting it won't go higher.
cl_updaterate is the rate at which you receive packet updates from the server or more precisely the rate your client will expect to receive. If this is set higher than the server is providing, you will generate choke. This is capped at 66 on eGO servers.
cl_cmdrate is the rate at which the client attempts to send packets to the server. If you attempt to set this higher than the server can handle, you will generate loss. This is also capped at 66 on eGO servers.
Your best bet is to set all of these to max and then join your favorite server. Run net_graph 4 and observe the four numbers on the right. From top to bottom they are cl_updaterate, the actual update rate, the actual command rate, and cl_cmdrate. The top two numbers should be as close to identical as possible and the bottom two numbers should be as close to identical as possible. If they are not, you may notice your choke is high. Any choke over 10 will be noticeable and ideally we want zero. So decrease the values until you have zero choke and the numbers all match up. For myself that is 30/60 update/cmd, but your mileage will vary. And just because your current rates work today doesn't mean they will next week.