It's actually simpler than you think. Here are the steps that I follow:
1. Install 9.4 in another directory, if you compile it from the ports make suere you add the PREFIX flag. For example: cd /usr/ports/databases/postgresql94-server/ && make install clean PREFIX=/opt, this will install 9.4 on the /opt directory.
2. Install the contrib the same way.
3. Initialize the 9.4 database in another directory /opt/bin/initdb -D /usr/local/pgsql_94/data -E UTF8.
4. Make sure the two databases are compatible: /opt/bin/pg_upgrade -d /usr/local/pgsql/data -D /usr/local/pgsql_94/data -b /usr/local/bin -B /opt/bin -p 5001 -P 5002 -c
5. Once everything is complete, run the scripts to delete old data and analyze the new db
6. Deinstall 9.0 and 9.4.
7. Install 9.4 using the defaults.
8. Move the /usr/local/pgsql_94/data to /usr/local/pgsql/data
9. Copy any settings you want to restore and that's it.
Above is the basic steps as I remember from memory. But I've successfully upgraded many databases this way.