For the time and money, its probably more cost effective to buy a Wiebad, Coletac, Armageddon or similar rear bag if looking for a quality fill and durable bag.
For the DIY methods, I've run BBs, plastic BBs, poly pellets and sand in a sock. Of those, pure sand was the most stable followed closely by poly pellets. BBs and plastic BBs tend to slip a bit under recoil (up and down) causing odd shots.
If you just need something to get buy for a few weeks, fill a baggie with sand, put inside long tube sock and keep folding over itself. Not ideal but it works.
Edit: I know you asked about self sewing; I've made a few dozen but to buy the right materials and fill will cost about the same as buying a new bag. $15-20 for a yard of cordura, $5-7 for poly pellets, 3-7 for heavy duty thread plus anything else you might buy. Making them by hand (without machine) sort of sucks because you need a lot of stitches to keep the fill inside and be strong enough to take a beating.