This is the third iteration of the balance Grass team I've been using throughout Gen 8. I believe that Grass should have a sample for both a balance team and a sun team, and this is the best version of a balance team I've made so far.
Rillaboom - This thing is an absolute monster with Grassy Glide now. It's so strong against so many types, it's really hard to not run it. It practically 6-0s Water, Ground, and Rock, and is a huge threat to Ice, Psychic, Fairy, Electric, Dark, Fighting, and many more. It even pulls its weight to a certain degree in matchups like Dragon. Adamant Choice Band hits things REALLY hard, and it makes it much easier to clean up in the endgame by spamming Grassy Glide with the extra power. The spread here is to hit 241 speed, which is enough for the likes of maxed base 60s like Aegislash or Magnezone. 252 in Attack is obvious enough, and the rest is dumped into HP to better eat hits. I got the idea for the spread from
juleocesar who was using a similar spread with his SD Rillaboom. Knock Off is great utility and a good neutral move, U-turn provides good momentum and decent damage, and Wood Hammer is a nuke for slower things that may survive a Grassy Glide like Hatterene.
Appletun - The standard set with a slight twist: enough speed for Toxapex because I once lost by being slower. This is a great Special wall and Fire resist for the team, and reliable recovery with Leech Seed, Protect, and Recover make it very sustainable. Many teams have trouble breaking through a Ferrothorn-Appletun defensive core. Apple Acid is a great STAB move that lowers the opponent's Special Defense, which can be very nice. It's great to be able to protect scout with Protect, but you do have to watch out for things like Gengar or Hydreigon who resist Apple Acid and can Substitute/Nasty Plot.
Ferrothorn - Maximum HP and Defense to better take on things like Dracovish and Darmanitan-G. I prefer Spikes because most things that don't liek hazards are running Heavy-Duty Boots these days, and I'd rather get better chip on thing like Urshifu or opposing Ferrothorns. For the sake of this sample, Spikes, Protect, and Stealth Rocks can all be interchangeable. Leech Seed + Protect provides Ferrothorn's recovery, and Gyro Ball hits speedy threats hard and prevents Ferrothorn from becoming set up fodder. Body Press is an intriguing option, but I've found more reliability with Gyro Ball.
Whimsicott - This Pokemon is essential for any Grass team no matter the playstyle in my opinion. I run a Substitute + Leech Seed set to stall out and annoy opponents, along with Prankster Encores to shut down any set up attempts or lock them into a move which isn't threatening. If I did the math correctly, the HP invest should be enough to provide an extra Substitute opportunity if you are bagging for a move to miss, like Hurricane or Icicle Crash. The speed invest is enough to hit 352 and thus still outspeed base 110s like Gengar and Raichu-A. The rest is dumped into Special Attack to make sure Moonblast does enough damage to things it should, like Dragon, Dark, and Fighting types.
Decidueye - The savior of Gen 7 Grass makes his triumphant return (until the release of Zarude we'll see). This is the same spread I ran in Gen 7, which
Acey - Danse Macabre gave to me. The speed is to hit 220 and thus outspeed things like Jolly Azumarill, Modest Primarina/Magnezone, and Modest/Adamant Aegislash. Maximum Attack with an Adamant nature allows it to hit as hard as possible. The rest is dumped into HP for a slightly better bulkiness and create more set up opportunities. Because we no longer have a Z Crystal, I gave it Spell Tag to boost its Ghost STABS, Spirit Shackle (which traps opposing Pokemon) and the priority Shadow Sneak. Swords Dance boosts its attack further, and Roost provides more set up opportunities and longevity. The role is still to trap problematic Pokemon and eliminate them, set up and clean late game, or set up and break midgame. Decidueye makes the Steel matchup much more winnable, and is overall a good piece in every matchup except Dark and Normal. Leaf Blade is an option over Roost if you find yourself struggling against Normal or Dark too much, but make sure adjust the spread to outspeed Tyranitar if you run Leaf Blade. I prefer Spirit Shackle's trapping mechanic more than the raw power of Poltergeist because it can ensure Pokemon that are problematic to the team will be eliminated.
Rotom-Mow - Choice Specs Rotom-Mow rounds out the squad. Choice Scarf is also a viable option, but I prefer Choice Specs because of the immediate damage which is very nice against things like Corviknight or Mandibuzz (and because Rillaboom's Grassy Glide and Decidueye's Shadow Sneak combine for decently good speed control). In addition, it eliminates the need to predict versus Water because Leaf Storm will OHKO Pelipper with Specs. Volt Switch is great for momentum, Thunderbolt and Leaf Storm are great STABS, and the spread is simple enough. Trick is to cripple things like opposing Ferrothorn, Chansey, Toxapex, Corviknight and anything that may try to set up like a Cosmic Power Clefable. Rotom is all around a solid Pokemon that helps the team in virtually every matchup.