We can't vaccinate yet because currently there's no way of differentiating infected and vaccinated animals. There is a huge amount of research being done on this at the moment, with a huge amount of money being spent by Animal Health trying to get a solution.
Currently half of all money spent in the Inst of Animal Health goes towards TB. More than Bluetongue, FMD, Brucellosis, and many numerous other diseases. It's a huge problem that most people outside agriculture/veterinary services apparently consistently fail to see.
Mycobacterium bovis exists in badgers, cattle and several other species. To effectively control the disease, we need to control it in all species in which it is present.
An extensive badger cull would only be part of an already extensive, and expensive, control programme.