The only time I ever use HM Slaves is in Nuzlocke or a Solo Challenge, all of my other playthroughs have the Hidden Machines spread across the whole of my team, not just one having four different HMs. I just don't think it's the 'trainer' thing to do, you're meant to care for your Pokémon and not make them your slaves.