Putting it on a timer isn't a very good idea, too fast and it wont work, too slow and it might clear someone talking when the user joins.
As mentioned, though, the reason join | clear doesnt work is because /join doesnt happen instantaneously. You should wait until ON JOIN to clear... here's a simple one:
on ^*:JOIN:#photoshop:if ($nick == $me) clear #
Put that in your remotes and you can remove /clear from perform.