Interestingly, at least to me, when I am leaving a tip where I am not familiar with the practices of the business, I use a card. If I know the business (I will ask employees!) gives tips to each person as given, then I might use cash. My idea is I want to make certain the tip get to the person who actually helped me. If they want top tip out to back of house, that is their business.
For those who are self employed, such as the person who does my DW and DD's hair, I generally pay cash, as I know what CC fees are. It is not my job to worry about their finances, but I can save them at least 3% in fees. I don;t alter my tip, but they also know I am paying cash on purpose to add 3% to their income from me.