You can grow your own shrubs from shrubs you already have or have access to. It's easy and free but you do have to wait about a year
Step 1: Select the Parent Shrub
Good parent plants are a few years old with flexible, year-old branches at their perimeter. Layering works for Red Twig Dogwood, spirea, rhododendrons, azaleas, Weigela, Hydrangea and more. May and early June is the time to layer in the upper Midwest.
Step 2: Select the Branch
Select a branch to be layered from the outside of the base of the parent shrub. The twig should be a year old, about 1/4" in diameter, and be fairly flexible. Dig a shallow trench for the branch. Make it about 4" deep and a foot long.
Step 3: Scrape the Branch
To get roots to readily form, you need to scrape the bottom of the middle section of the branch. Use your trowel or pocket knife.
Step 4: Bury and Forget for About a Year
Bury the scraped section of the branch in the trench and cover it with soil. Weight down the soil with a brick or rock to prevent the branch from working its way out. Position a second brick to hold the tip of the branch up. This helps get the leaves out of the shade and also keeps them safe from lawn mowers. Now just water the disturbed soil to settle it around the branch and wait about a year. Mark your calendar so you remember to dig your new shrub next April or May.
Step 5: Digging Your New Shrub
Locate the shrub you put down last year. Carefully dig up the buried section with its roots. Snip the branch on the parent side of the roots.
Step 6: Plant or Pot
With adequate moisture your new shrub should have a good set of roots. You can either plant immediately to where you want a shrub or pot it for planting later. Either way, do not let the roots dry out. It there is a lot of top growth you should do some pruning so there is less for the roots to support.
Lay down a few branches each year so you always have a supply. Try different varieties. If you don't need more, give them to friends or sell them on-line.