On the JSS, the Self Service that gets installed to client machines lives in <tomcat root>/webapps/ROOT/bin as SelfService.tar.gz. This gets expanded out as SelfService.app on client machines.
If you got Self Service customized the way you wanted it, it theory all you'd need to do is tar gzip it and place it in <tomcat root>/webapps/ROOT/bin.
Then your branded Self Service would get blown down to all machines. Granted, every time there was an update to the JSS, you'd need to re-do your branding. This is the #1 reason why I think branding is a bad idea. It wastes cycles on something an exec likely wanted. Most users aren't stupid and if you tell them what it is and what it's for, they're good to go.
As an aside, some vendors don't support branding and view it as a hack. At my last job, non-technical people wanted a particular item branded. The vendor said we'd be off the reservation if we decided to do it. I gave my two "but, sirs" and forged ahead when they said to do so. 6 months later when we were having problems with the product we called support and they told us what they said they'd do back when we asked about branding: "Pound sand."
The item was quickly unbranded, we got support for it, and I gave a big old "I told you so."