pbpaste and pbcopy never really occur in ambiguous situations, so I wrote the following shell script:
function clip { [ -t 0 ] && pbpaste || pbcopy }
This is easier to type and allows for the following: % echo hello | clip
% clip
hello