I'm experiencing pretty much the exact same issue. We have a Cisco wireless modem and a broadband 50 package. Occasionally the speed has been up to about 40, but usually gets between 3 - 5 Mbps down, and that's using speedtest.shaw.ca and speedtest.net. Doesn't seem to matter what time of day I try either. I've reset the modem, released/renewed the ip, flushed the dns resolver cache, run malware and virus scans.. everything I can think of and nothing has worked.
It might be worth noting if I try to ping shaw.ca I get total packet loss, and if I do a tracert on shaw.ca this is my results:
1 1 ms 1 ms 1 ms 192.168.0.1
2 * * * Request timed out.
3 24 ms 14 ms 16 ms nc1bu.wp.shawcable.net [184.108.40.206]
4 27 ms 29 ms 30 ms 220.127.116.11
5 29 ms 29 ms 42 ms 18.104.22.168
6 - 30 <- Request timed out.
Also interesting is that if I run the speedtest app on my iPad connected to the same access point, I get 52.27 Mbps down and 3.28 Mbps up, and similar results running the same app on my android phone connected to the home network, so it's obviously an issue with my laptop but I can't isolate the problem. And these slow speeds started within the last two weeks.