You can do something like you've suggested:
:!su -c 'vifm %d %D' -
or
:!sudo vifm %d %D
Possibly map it something (e.g. ,R):
" become root nnoremap ,R {one of two commands from above}<cr>
missed ! sign. thanks a lot