I only use bagged topsoil if I'm filling in holes or a raised bed. I use potting soil when I'm planting in pots. I use compost or fine mulch to mix into planting beds to improve texture.
My favorite brands are Uni-gro, LGM, and E.B. Stone. For cacti I use Kellogg, it's a little coarse but good for big pots.
Miracle-Gro is usually to "peaty" for me.