Personally, I've come to hate rolling for stats due to two issues that always seem to occur: a) disparity between characters, and b) an incredible amount of recurring "luck" :ahem: on the part of some people's stats. However, I do like the way that randomly generated stats can prompt creativity and stretching people's ideas for a character.
So, the next time I run D&D I plan on using a method for stat generation that I first heard here (I wish I could remember who to give credit to). The theory goes like this. Lets start with straight 3d6, in order. You've got 18 slots for dice (3x6). Now if probability worked the way people think/wish it does, then everybody rolling 3d6 should roll 3 1's, 3 2's, 3 3's, etc. Everyone would have 63 points distributed randomly amongst their stats. Dice won't do that for you, but cards can. Take all the playing cards from Ace to 6 from three suits of a deck of cards, and shuffle and deal them out in groups of three and there you go.
Now, 4d6 drop the lowest has an average value of about 12.24. Multiply by 6 stats and you get about 73.44 points....so if we can squeeze out around ten more points, we should get the same kind of results. So, take that set of cards and replace the 1's with the 3, 4, and 5* of the remaining suit and that gets you pretty close. Again, shuffle and deal them out in groups of three. If you want to be generous, let the player swap one pair of cards after dealing. I've tried it a bunch of times, and with the swap you can almost always get at least one really good score.
* 3, 4, 5 gives you 9 additional points
4, 5, 6 gives you 12
3, 4, 6 gives you 10 spot on, but a higher chance of seeing a "rolled" 18
If you have more than one deck of cards, you can replace them with all 4's or 5's, but you can lose some variety in the scores that way.