While it is true that once stored there is no way to get to the original named timezone. I believe when a timestamp with timezone is stored it is converted on the way in to postgres to timestamp and offset +- HHMM, including daylight savings for the timezone. I did an experiment:
create temporary table t1 (c1 timestamp with time zone);
insert into t1 values ('2003-04-12 04:05:06 America/New_York'::timestamp with time zone);
insert into t1 values ('2003-04-12 04:05:06 America/Panama'::timestamp with time zone);
nsp=# select c1 at time zone 'utc' from t1;
timezone
---------------------
2003-04-12 08:05:06
2003-04-12 09:05:06
(2 rows)
Those appear to be correct to me. In 2003, Panama is UTC-5, no daylight savings. In 2003 America/New_York subtracts an hour starting on April 6 (UTC-4). So, the times are correct, and you can tell the difference between the two.
-g