Best way to turn Arduino on & off?

Perhaps putting it to sleep would work for your purposes. Look in the Learning section for ArduinoSleepCode