Lotsa stuff works.
+1 about Ballistol. I also use Ballistol as an ingredient in Moose Milk.
Water is the most basic solvent for BP residues. They are hydroscopic; that's why a barrel will rust if the stuff isn't cleaned out, right? So they dissolve in water and can be removed.
Water - any temperature - and soap which will help to hold the residues in suspension and get them onto the patch.
Lots of "pet" cleaners and solvents - Windex, Hydrogen peroxide, Witch Hazel, etc. - work because they are mostly water.
The problem with water is getting it out completely. Using very hot water - boiling - is a standard method but there is more than one report that that causes flash rust.
Probably the best way to get the moisture out (and it isn't isopropyl rubbing alcohol - which has water in it) is to use pure alcohol, the stuff available in the hardware store as stove fuel. Sunnyside is a common brand here in the East. IIRC, the stuff used as fuel line antifreeze (Heet) is also pure.
After swabbing to a clean patch, I take the extra step of cutting some patches from paper towels, wrapping them onto a jag and running a few down and up the bore. The first one, at least, comes out damp every time, no matter how many dry cotton patches I've run.
I oil with Ballistol. I have tried Olive oil and Mineral oil and found them too gummy.
Pete
BTW - if you are concerned about getting any type of solvent or cleaner on your fine wood stock, coat the stock with Miniwax Paste Finishing Wax (or some such) before you start to clean. When you are done, buff it off. It'll protect the finish while cleaning and shine it up when you are done.