@dan-cormack
If anyone's still interesting in this topic, here is the brief instruction:
Download pfsense ISO
Create a FreeBSD x64 VM in VirtualBox with PAE/NX, VMDK hard drive on IDE controller, disable audio and usb; attach the ISO to the VM
Boot the VM and install pfsense on the virtual hard drive
After installation completed, let the VM start rebooting and power it off
Create an OS bucket in OCI and upload the VMDK into the bucket
Switch to Compute/Instances/Custom Images and import the VMDK image from the bucket
From now you can create an instance from the custom image