I almost always use an HM slave, for horrible HMs such as Cut and Rock Smash. The only game I didn't use one for was X/Y, since these two moves weren't required to beat the game.
When choosing an HM slave, I don't put much thought into it. I usually just go with the first Pokemon I find...