block--[region].tpl.php not working
The name of your template block--sidebar_first.tpl.php is correct. Clear the cache to override the template.
OR 
Put this function in template.php and clear the cache. You will get the suggested template for your block.

On suggested name replace double underscore with double dash for your tpl file, and clear the cache.

function THEMENAME_preprocess_block(&amp;$variables) {
    print_r($variables['theme_hook_suggestions']);     
}