I also had some issues with PPPoE, for some reason it did not worked for me, then suddenly it started to work with the very same config. That was very weird, but it still works fine.
shark# cat /etc/hostname.pppoe0
inet 0.0.0.0 255.255.255.255 NONE \
pppoedev em0 authproto chap \
authname '<username>' authkey '<my_password>' up
dest 0.0.0.1
!/sbin/route delete default
!/sbin/route add default -ifp pppoe0 0.0.0.1
shark# cat /etc/hostname.em0
up
shark#