We've done it so may ways over the years...
Hourly with % of jobs (it was a admin/payroll nightmare)
Salary - some techs liked this cause they knew exactly how much they would make each week. No slow weeks with less hours, but then no overtime.
Hourly with bonus. This was done with bonus based on meeting our revenue goals (quarterly cause monthly can kill you if you have a really good month you bonus them on , then slow months and you didn't meet quarterly goal and bonus based on monthly)
Right now we do hourly with bonus as we determine. If we have a really tough week, we throw them extra money, or a gift card. If we are on vacation and they are carrying things for us, we bonus them for doing so. End of year bonus based on overall company performance. If we hit revenue goals, then it's one amount....they get more if we exceeded them. Our guys like getting OT when it's available so they prefer this over salary.