The federal Medicare programme and private health insurers waste nearly $3 billion every year buying cancer medicines that are thrown out because many drug makers distribute the drugs only in vials that hold too much for most patients, researchers have found.