Deep topic and many choices. This is one of the biggest and most expensive decisions in any rain water harvesting system, one that takes lots of design time.
Options include:
Above ground storage tanks (Metal Tank, HDPE plastic, Fiberglass, Concrete)
The most cost effective are the HDPE tanks, but for large storage volumes (20,000 ltres/5,000 gal) the metal tanks are the most practical. Considerations need to be made for a secure load bearing and seismically stable base.

Below ground tanks (HDPE plastic, concrete, Water Matrix)
When space is limited and or visuals are a priority, tanks can be buried. The biggest consideration is to ensure that water table is drained so that empty tanks do not float and to ballast the empty tank so that it stays in the ground. For these reasons buriel storage is 5 to 6 times more expensive.
Ponds
The most cost effective and bio-diverse solution to storing large quantities of water Whether lined with clay, sprayed poly-urea, LDPE geo-membrane or EPDM pond liner, they function well. Maintaining freshness can be achieved mechanically through filters and aeration, or designing a diverse vegetative plant bio-system.

Swales and other Landscape soil infiltration systems
In the true Permaculture sense, being able to build storage into the soil using land forming techniques coupled with planting systems and soil carbon creation is ideal. In essence this concept is used to recharge ground water. Tayler & Solara from Hatchet n Seed specialize in these installs

Other infiltration systems design
When you have stored and there is no more room to put your wet gold, then soak-a-way pits or rain gardens can be installed.