Or a variant using colon-terminated lines rather than colon-separated fields, allowing the uniqueness code itself to be very straightforward:
MYPATH=$(echo -n "$PATH"|perl -072 -lne 'print unless $s{$_}++')
(octal 072 is ":", the colon character)
Because this is interpreting the entries in $PATH as colon-terminated rather than colon-separated, though, this will tack on an unwanted colon at the end.
So the full solution wouldn't be as pretty. You'd need something like:
MYPATH=$(echo -n "$PATH"|perl -072 -lne 'print unless $s{$_}++')
MYPATH="${MYPATH%:}"