Try a new filter and reboot the router.
Speeds quoted by companies are based on an average for the area and the small print always has a get out that it depends on how far away from the exchange you are.
Also, unless you go to cable, whichever company you choose the same physical copper wires, installed by BT will be used.
Run this test http://bt.custhelp.com/app/answers/detail/a_id/9354/c/346 and note the results. If the speed is well below the line profile then there is a fault and it can be rectified.