I would record so many more original songs if the drum programming wasn't so tedious. Here's what I've tried over the years and notes on each method:
* One note at a time in midi piano roll editor, entering notes and durations with the mouse. Very time consuming and harder to make it sound natural, but if you have the time you can get it perfect.
* Audio loop assembly. Sounds, beats fills are limited by your loop library, but it can work.
* MIDI loop assembly. I've used EZ Drummer midi patterns and tried EZPlayer to help the process even more. You are still kind of limited by the patterns and fills you have on hand, but you can edit your own intros, fills and endings piano-roll style. Still tedious, but you can get great results better and faster than programming a whole song from scratch.
* Playing drums live with midi keyboard or pad controller. I've done loads of this, most recently with a Korg PadKONTROL. Considering it's just finger taps, I built up a pretty decent technique of playing finger drums. I've even jammed live with other musicians
I use the first two fingers of each hand so it resembles four limbs. I lay out a complete kit and get familiar with which pads are which drums, hats or cymbals, hit record and just play. It's hard for me to get perfect timing or do any complex stuff, but for laying down a quick demo this is the fastest way by far. You can record drums for a whole song start to finish, then go back and edit midi here and there or quantize.
* JamStix 3. I bought it late last year and it's really cool software! The concept is awesome, but I haven't used it as much as I hoped. I still find it hard to get it to play exactly what you want played, but when it works it really works well.