I think it's awesome that postgres allows you to code in different languages like this. It really is a unique development environment and one that is overlooked as a development platform. It would be nice if more languages were delivered in the default package especially lua, V8 and mruby.
My recommendation. See them as tools in a toolkit, not a question of what is best.
For places where you have SQL statements as primary do SQL or PLPGSQL functions.
For places where you are manipulating values (parsing strings for example) use something else (I usually use pl/perl for string manipulation but ymmv).
PLPGSQL works best where you have a large query and some procedurally supporting logic. It becomes a lot less usable, performant, and maintainable the further you get away from that.
So there is no best just different tools in a toolkit.