a dvi port can transmit audio under certain conditions.
your video card must support sound out on the dvi port.
i have a dvi-to-hdmi cable hooked up to my dvi port and my home theatre system and i get great sound.
there really isn't a "better" or "worse" choice between them. it all depends on what outputs you already have and what inputs your display has. dvi is usually recommended for monitors as there usually isn't any issues. sometimes hdmi on monitors (note: not tvs) will not appear right at first and require a little image adjusting. i've never had an issue but from what i've read on this forum its common enough to note.