"wav" is a raw (uncompressed) waveform. Assuming you don't need to resample, you just need to push the raw data (sans header) to the sound card.
But whatever other formats you have end up being raw waveforms as well. Unless you have special hardware that can take in a compressed stream and play it, you always run a decoder that outputs the encoded audio to a raw waveform which you postprocess/mix and then pass to the "sound card" (via some audio API).
If you decode everything in "realtime" to waveforms, then you may run into some unwanted latencies and unnecessary CPU load. This can pretty easily be solved by doing the decoding up-front: When a level loads, pre-decode all the audio and keep the raw waveforms in memory. Or you can even use an LRU list and "cache" the raw waveforms of the latest used sounds.
Back in the 1990:ies there was a fad where people used disk compression tools. Most techies argued against using these, noting that compressing/decompressing would slow your system down. To most people's surprise, some benchmarks in fact showed an increased "disk speed", which was explained using something along the line of "the bottleneck is the disk I/O. The PATA interface is slower than the CPU/RAM by so many order of magnitude that the decompressor easily has time to decompress the data as it arrives, so you get the illusion of "faster disk access" by virtue of transferring less data from the disk.".
This is basically true to this day; as mentioned in another post. If you have long audio (like music, rather than simple sound effects) you want to compress it to cut down on disk transfer times (if you're fetching a lot of other data as well).
In short: Use compressed format for storage. Use raw waveforms in memory for short repeatedly played sounds.