Is there any performance implications in calling a view programmatically and set necessary filters?
Definitely not an issue unless you overload the view (but you can do that with the UI also - so no difference there). 

On our production architecture we have views UI disabled and all the views are in code under version control however we also have a content team that needs to build 'lightweight views' that pull data from a product catalog and displays it in a particular way. Unfortunately we don't want them running direct SQL or using views UI as they don't completely understand what it all means so we just programmatically create these views and expose a UI to them that they understand. Things like:


What design they want on it
How they want the sorting of the dataset
Whether they need 'no results' text
etc.


Some caveats to doing more complex versions of this are:


Looking out for timing issues. I.e. not having an option available at that call point
Ensuring the correct structure is used. Example: $view-&gt;use_ajax vs $view-&gt;display[$dispay_id]-&gt;filters['use_ajax'].


Neither the less, it is all definitely possible and scales without issues.