Looking for advice on driving 3w and 1w LED's

Depending on your battery voltage a buck or boost constant-current drive module would be the most efficient - only fairly slow PWM works with these from my researches, but the Arduino's default PWM is quite slow.

If the battery voltage is 5V you can use a non-switching constant-current drive chip (I've just been looking at the various CAT4101 chips for instance that do this. PWM fast or slow is fine. 5V to 3.2V will waste some power, but the driver is probably cheaper and lighter. Some heatsinking needed though...

For driving several LEDs in series you might need a boost driver, but otherwise a buck driver likely to be most efficient.