How to read configuration option into variable?
Besides current_setting(), SHOW is workable in this context, it's just a matter of returning a scalar rather than a set. Your function slightly fixed to work would be:

create or replace function get_param()
returns text as $$  
declare v text;
begin
  SHOW custom.param INTO v;
  return v;
end;
$$ language plpgsql;


However this form does not seem to offer any advantage over calling directly current_setting(), so it's probably not worth creating such functions.