Este código uso yo y me funciona:
# Usar siempre el dominio con www
RewriteCond %{HTTP_HOST} !^www\.dominio\.com [NC]
RewriteRule ^(.*)$ http://www.dominio.com/$1 [R=permanent,L]
Que es bastante parecido al segundo que pusiste... Si no funciona y lo que sale es un error de host no encontrado o algo así, puede que el problema sean los DNS y no el Apache, es decir, tendrías que crear un alias o algo así para el subdominio www en la configuración DNS de tu servidor