dd if=file of=/dev/da0p1 ?

If I have an mbr partition I can use dd to copy a file to a partition. If it is a gpt partition I can't.

Is it just me or is this a known restriction, and is there any way around this?
It is a known restriction. "Raw copying" (as with # dd) could mess with GPT-related metadata such as GUIDs.

AFAIK you need to set the partition first using a proper tool, then copy using e.g. net/rsync.