Most Sundays I'll try and give my makeup brushes a proper clean. During the week it's just a quick spritz with the e.l.f. Daily Brush Cleaner (£3.95) on a baby wipe (which is good to sanitise the brushes and remove most of the excess product) but this is what I do when I want them looking as good as new...
This is how I wash my large face brushes. It's especially good for tightly-packed bristles. I've used Johnson's and Aldi's own brand for both the baby shampoo and baby oil before. There's no difference, so I'd suggest the Aldi as you can get large bottles of both for under £2.
STEP 1: Get a little tub and mix together 2 parts baby shampoo and 1 part baby oil
STEP 2: Swirl your brush around in the mixture
STEP 3: Massage the mixture in between the bristles
STEP 4: Rinse under warm water whilst gently squeezing the soap (and lots of orange stuff!) out
I use the Dr. Bronner Lavender Castille Soap* (from £1.99) for my smaller brushes. It's perfectly good for the larger ones too but I think the baby shampoo/oil works a little better and it's a lot cheaper. Whereas for small brushes you don't really have to do much squeezing out. I just massage this gently into my brushes then rinse with warm water. They also then smell nice and lavender-y!
For both the large and small brushes I just leave them out to dry overnight, but if you're in a rush you can use a hairdryer on low heat. To do both usually takes me around 20 minutes or less.