Drill a hole (1/2" depending on how many feeds you want on the roof. I used two, front and rear), insert grommet, apply silicone, remove A-pillar trim, feed wires down to firewall, poke hole in grommet, pull through with a coat hanger and lube (Not kidding, use lube, you will be happy you did) wire to fuse panel or battery, connect switch and install to your preferred location on dash or on center console.
A step bit and center punch works well with this method. It really isn't as bad as people think that it is. As long as the work is done thoroughly and you get a good seal up top, you will be fine and remain dry inside.
My tip would be to drill the hole as close to the driver side A-pillar as possible and directly above the vanity light so that you can remove said light for access when feeling a pulling wires so that you're careful enough not to jack with the headliner too much (getting it dirty or bending the edges trying to finesse the wires). This process honestly works best with the front light and wind deflector removed. If you can pull the rack, less the 6 braces, that would be optimum.
Best of luck.