From WordPress Codex (although related to the same function in WPMU and not WP3.0+):
http://codex.wordpress.org/WPMU_Functions/switch_to_blog
it says:
This switch is to be used for internal and admin area functions. It’s
too expensive a query to run on the front end.
in the new page for the same function in WP3+ there’s no such mention.
So, is it a normal or a bad practice to use switch_to_blog in themes?
I have a multisite setup with 4 blogs and would like to use this function often to pull content from one to another.
For 4 blogs – most likely no.
The problems start to appear when you have tens of thousands of posts+ across many blogs, and you want to do queries like getting the latest 10 posts from the network.
You should test this yourself, and see if the use of that function (and the others that followed it) significantly affected site performance in some way