Snippets: is it better to add them in functions.php or make site-specific plugins?

From performance point of view, I don’t think there is any difference between functions.php and plugins : it’s just different places for the code to be.

I would be practical : if the function is part of the theme’s core (say, a scrollable slider in the header without which the theme is worthless) : it’s a function of the theme.

If it is a generic function that could be useful to another theme (say, custom data field), it’s a better choice to make it a plugin, because you could easily copy/paste this function if the files are separated from the theme.