From what I know (which is admittedly little) your first attempt at TV insertion was correct. Compare my chunk (where +filename is a TV):
<div><img class="ss" src="[[+filename]]" alt="[[+filename]]" /></div>
If your TVs are not showing it might be because the snippet is not calling them correctly. If you are using getResources you have to disable its automatic prefixing of TVs. In the snippet call you need:
&includeTVs=`1` &processTVs=`1` &tvPrefix=``
When writing your own snippet, and you have to get the TVs for a resource you need to include something like this:
$listoutput .= $modx->runSnippet('getResources', array('resources' => $value, 'tpl' => 'villalistchunk', 'includeTVs'=>'1', 'tvPrefix'=>'', 'processTVs'=>'1', 'sortby'=>'RAND()' ));
Good luck.