I have used straight epoxy, and also mixed with sawdust. Both work, but even the sawdust filled will be noticeable, although not unattractive. I usually use the 5 min from Lowes, but do some prep first. I line each void with blue painters' tape squeegeed down tight on the edge. I mix my epoxy and fill the void to over the top of the tape. After about 15 to 20 minutes, it will get semi-hard like soft taffy. At this point, I take a sharp chisel and shave it off down to the tape. If it has all come off good (meaning I didn't try to cut it too fast) I then remove the tape and shave it down to the wood. The let it have a full 24 hr cure.
This method really cuts down on the sanding, The above is done before the project is finish sanded. I finish sand it with wood sanding block to give it the same gloss profile as the surrounding wood.
Here are some pics to give you the gist of what I am talking about, using sawdust filled epoxy on a black walnut table. After I did these pictures, I realized that the closer to the void I put the tape, the better off I was. In the first photos, I used cellophane packing tape, but have found the blue painters tape works as well and is easier to trim to match the defect.
http://www.ncwoodworker.net/pp/showgallery.php?cat=1349
Go
For dark woods, I have tried the sawdust (from a palm sander as Ken said) as well as ground coffee. Coffee grounds did not work well for me (too grainy) but may have if I worked them finer with a mortar/pestle. I think the best option would be a dye that will mix with the epoxy, but have not tried that method. If I had a West Marine closer, I would use their epoxy because it may dry more clear, which would be better in some instances that trying to tint it.