I've done two installs. There's not a lot of metal up there. OEM style usually have large holes with expanding clips to pull them in securely. Aftermarket kits come with the clips, but how do you drill square holes? I don't... so I just used metal screws - but they can't hold much tension so you have to be careful. The biggest challenge here comes with sealing them up to prevent leaks, especially since the roof will be curved and most of the lights are flat, so it relies on gasket compression. Both times I needed clear caulk to make it work. the other thing is to pull the headliner first and make sure you can even mount them. Some trucks have separate rollover metal there which makes mounting and wire running tricky.
The other thing I ran into is that even some $150 kits are junk within. Quality is all over the place. Seems like many of the plastic shells are decent, but the electronics are cheap.
Some of the cheaper kits are really cheap, like 1-2mm open seams where rain gets in.
You'd have to find just the right kit to look right on a midsize truck. The lights may look very out of place on a smaller roof. I'm not sure I could do it.