Opposite advice is usually the norm. It is much more reliable to overclock from the BIOS then to trust software tools. Most overestimate the voltage required and lead to excessive heating. On top of that you never know when a software tool will stop working due to changes in Windows.
You might check your motherboard for overclocking defaults, these can be quite useful as a starting point, or to use for everyday use. Not sure what MSI's would be called.
You just need to set everything appropriately. If you intend to overclock manually you need to turn off all of the power saving features on the CPU.
Turn off C1/C3/C7 States when you are testing your CPU for overclock potential. This will lower the core voltage at idle. Especially if Windows is not set to Maximum Performance Mode (This is necessary if you are using the Boost Multiplier as compared to the controlling the Frequency Ratio, varies by motherboard)
Important values for simple overclocking:
Frequency Multiplier / Boost Multiplier
Core Voltage (VCore) up to 1.3 (1.35 if you feel like the CPU can take it temperature wise)
Input Voltage (Vin) (This should be increased by 0.1 volts for every .05 volts on the Core voltage above 1.2 roughly)
With the G3258 you should expect 4.2-4.4Ghz at 1.25 volts or more. 1.3 volts is about as high as I would take it with that cooler, but every config is a little different.
When you find a decent clock you are satisfied with, you can re-enable the C power states and set Windows performance levels to Balanced. That will let the machine idle at low voltages.
here is a guide from one of our Tom's gurus for basic overclocking:
http://www.tomshardware.com/forum/id-1722630/intel-god-quick-dirty-guide-4ghz-haswell.html
Here is my favorite guide: (Z87 and Z97 are both Haswell chipsets)
http://www.overclock.net/t/1401976/the-gigabyte-z87-haswell-overclocking-oc-guide