I've thought of defensive Chesnaught as a borderline A-/B+ threat for a while now, and I think its offensive set pushes it over the line to A-.
First off, its defensive set is absolutely gold right now. Thanks to its typing, bulk, and access to the rare Spiky Shield, Chesnaught is capable of going up against some of the most threatening offensive Pokemon in the metagame, including Landorus-T, Mega Lopunny, Bisharp, Mega Gyarados, Keldeo, Excadrill, Gyarados, Terrakion, Tyranitar, Breloom, Crawdaunt, Mega Swampert, and Kabutops. Additionally, unlike some defensive Pokemon, it isn't useless against other defensive teams, thanks to its access to Spikes. With Spikes, Chesnaught helps out its team tremendously by weakening their checks and counters. For example, Unaware Clefable needs every bit of its health in order to avoid 2HKOs from the Pokemon it counters, such as Life Orb Thundurus. Throw in one or two (or even three) sets of Spikes on the opponent's side of the field, and now your Thundurus is in pretty good shape. Next, while Spiky Shield is a really good move, you can pass it over in favor of Wood Hammer, which allows you to act, even while defensive, as an offensive check to bulky waters. However, while Grass / Fighting is a solid typing for the reasons I mentioned, it's a little annoying thanks to its Fire, Psychic, Ice, Fire, and Flying weaknesses. Thankfully, BirdSpam is declining, but Talonflame is still very relevant. Mega Charizard X, Mega Charizard Y, Mega Altaria, Mega Metagross, and especially Mega Sableye are other mons that care little about what Chesnaught has to do (however, it can still set spikes / seeds on all except Sableye them). A pretty similar defensive Pokemon, and not just in that it's also a Grass-type, is Celebi. Celebi has a lot of exploitable weaknesses, more even than Chesnaught, and yet it still is viable enough for A-. Perhaps Celebi can wall more mons, and sure, Recover > leech seed + drain punch, but Chesnaught's better bulk + access to Spikes puts it on equal defensive footing to Celebi in my opinion.
Count the number of Pokemon that threaten out defensive Chesnaught from S to A-. I counted 26. Now count the ones that threaten out all forms of Celebi. I counted 22. I know this isn't a perfect measure of viability by any means, considering the total possible scenarios + other sets of chesnaught and celebi, but it should show that being forced out by an extremely large amount of Pokemon doesn't, or shouldn't, prohibit a defensive mon from being considered A-.
Anyway, this isn't the whole picture of Chesnaught. Like Celebi, Chesnaught also has an offensive set, and it works very well due to a combination of chesnaught's traits. (At first I was going to explain the basics of the set to everyone, but I'm pretty sure everyone gets it.) Once properly set up, Chesnaught is at +6 attack and +1 speed (faster than Dugtrio), and is behind a Substitute while under 25% health. Overgrow is a great ability in this situation, which allows Chesnaught's +6 Seed Bombs to absolutely massacre everything, including resists. However, it isn't ideal to stay low on health for a very long time, and thanks to Drain Punch, and unlike Azumarill, Chesnaught doesn't have to. Everything faster than Dugtrio is really annoying for Chesnaught (Mega Zam, Talonflame, Mega Dactyl, Beedrill), so they NEED to be taken care of for the set to work. However, Chesnaught's sheer power catches a lot of people off guard, and its BD set isn't exactly unreliable, thanks to the large amount of Pokemon it can set up on. Also worth mentioning, a large amount of the Pokemon that threaten out the defensive set are beaten by the Belly Drum set, including Latios, Latias, Heatran, Mega Scizor, Mega Diancie, Mega Sableye (BD chesnaught sets up on it), Mega Charizard-Y, Mega Charizard-X, Mega Slowbro, Mega Gallade, Mega Gardevoir, and many more, which further adds to the set's capability. Mega Aerodactyl, Talonflame, Pinsir etc are all still very annoying though (although the former two lose if Chesnaught is behind a sub).
Chesnaught isn't a perfect mon by any means, as it, like Celebi, is forced out by a lot of Pokemon. However, its defensive set walls a lot of top tier Pokemon, and provides Spikes utility for the team, while its offensive set is highly unpredictable, beats many of its defensive set's checks, and while needing quite a bit of support, it nearly always pulls its weight if it's used properly. I'd say that you could easily argue that its defensive set is worth A- over B+, and its offensive set further supports this claim.