It is something of a hack, but you can use a text replace on TIN z, convert that to POLYGON z, and then use ST_Dump to extract the individual triangles as polygons. For example:
WITH
tin (id, geom) AS (
SELECT (ST_DUMP(ST_GEOMFROMTEXT(replace(
'TIN Z (((0 0 0,0 0 0.5,0 0.5 0.5,0 0 0)),
((0 0.5 0,0 0 0,0 0.5 0.5,0 0.5 0)))'::text,
'TIN Z', 'MULTIPOLYGON')))).*),
tin1 (id, geom) AS (
SELECT (ST_DUMP(ST_GEOMFROMTEXT(replace(
'TIN Z (((0 0 0,0 0 0.5,0 0.5 0.5,0 0 0)),
((0 0.5 0,1 1 1,1 0.5 0.5,0 0.5 0)))'::text,
'TIN Z', 'MULTIPOLYGON')))).*)
SELECT
a.id[0],
b.id[0],
ST_3dIntersects(a.geom, b.geom)
FROM tin a, tin1 b;