It all depends. There are a lot of things in the audio chain. With most computer audio gear, the amplifier is what always seems to lack. You'll know if it does by turning it up loud if it starts to sound like a clock radio.
I hope you didn't spend too much on your speakers. In my experience, if I had to do things over again, I would have never purchased computer audio equipment. I would have bought a typical home theater receiver with USB inputs and use it's amps to drive whatever speakers I prefer. It's large equipment that you don't want to move around, but it is money better spent.
If you want portability, then I'd focus on buying good headphones. Good thing here is the cost. A good headphone
Grado SR60i ($79) + good USB
headphone amplifier ($50) is about $130 total. To get equally good sound from a speaker + amplifier you'll have to spend over $800.
To answer your question, to get the best sound, make it as simple as possible. The audio coming out of your computer is digital and something needs to turn it to analog. The DAC. When you use your audio out on your sound card, your sound card is your DAC. Your speakers, I assume, has a built in amplifier that then spits it out to your speakers.
If you use optical, what comes out is digital, processed by the sound card. Your speakers have a DAC that then feeds it to the amplifer then to the speakers.
If you use USB, Windows becomes a software 'sound card.' You are no longer using the onboard hardware sound card. Windows will feed digital audio to the DAC inside your speakers... which then goes analog to it's amplifier then to your speakers.
I'd use the USB connection and see if that fits your needs.