I've done this. Your best bet is the ultra-thin LED strips which give you almost unlimited choices in accent and task lighting. The technology has been expolding, so new and easy options exist which I did not have acces to when I did it.
Since it is low volt, all I needed was LAMP CORD to pull power to the strips. The strips themselves (for task lighting) are attached under the cabinet, behind the 1/2" front lip. How? Believe it or not, I used double-back carpet tape.
LED strips may provide the ONLY light you may need in the kitchen! With 50,000 hours of life, you'll move or die before they wear out.
If you want to put LED strips above the top of the cabinet on a separate switch, you get low volt, low heat, high impact accent lighting.
What I did was to add a switch and take power from one of the receptacles in the backsplash and run ROMEX up to the top of the cabinet. At that point, I installed a surface mounted receptacle into which I plugged the transformer. The wiring ran back to this point.
The lamp cord ran inside the cabinet (concealed along the vertical edge) and exited behind the front lip. Each cabinet looped the wire back up then over and back down along each wall. Under the front lip, the lamp cord attached to the LED strip on each end. When done, it formed a continuous run under each cabinet.
Turning on the switch lit all the task lights at once.
Be brave! You can do this. There are many new manufacturers of LED strip. Some come with adhesive tape, some don't. Some come with quick connects, some don't. Here is one video set that will really help you. Get started with LED Strip Light Installation Video 1 of 2 .