Two items need to be cleaned from a barrel; powder residue and copper/guilding. Powder can be washed out with a good solvent some good bronze brushes and, of course, a quality cleaning rod and bore guide. Many good solvents are available such as traditional ones like Hoppes or some of the more recent ones like Shooter's Choice, Butch's etal. These solvents also will take out some of the copper fouling.
Once the powder residue is removed, the task of removing copper is next. Normal removal with excellent solvents like Barnes #10, Montana Extreme or Sweets will suffice for normal removal. JB Paste and RemClean gets used on the tough stuff, although, just how much needs to be removed is a judgement call.
Some copper fouling imbeds the pores of the steel and its removal is not needed. In fact, most avid shooter probably overclean their bores whereas a good judgement call is to do so when accuracy deteriorates. This is a variable depending on barrel quality and, often, one of the advantages of a premium barrel that has been properly laped after the rifling has been cut, hammer forged or button pulled. IMHO and experience, premium cut rifling is the easiest to clean of copper fouling and influences my preference Krieger and K&P barrels, both of which take only a few patches to clean up and normally need such cleaning after 100 to 150 rounds (220 Swift, 223 Rem, 25-06AI, 257AI).
I've seen some enticing ads recently for Copper Melt and would like to try some.
A third type of fouling is caused by the use of moly coated bullets. This can be a tough assignment for any solvent. It may be one of the reasons current purchasing trends have moved away from the coated bullets. A bore scope can often show impacted moly areas in bores that have been fastidiously cleaned of powder and copper. My only solution has been to scrub, scrub, scrub and to return to plain jacketed bullets which have had no effect on accuracy in any rifle I've used.