I've usually used one of two methods to shade the interior of polygons. Assuming this is our set of input polygons:
Option 1 is to use the Buffer tool, create a buffer of negative distance (e.g. -500 meters) and set the
line_side parameter to
OUTSIDE_ONLY. This will generate areas inside of each polygon, giving the nice look of country borders on a political map when combined with a transparency setting:
Option 2 is to convert polygons to lines and then use the Euclidean Distance tool (in Spatial Analyst) to create a distance raster. Use ExtractByAttributes to remove areas farther than you want to shade, change the raster symbology to Stretched with the min/max values equal to 0 and your max distance. Add in some transparency, and it looks pretty good:
If you wanted a different color for each raster area, you could rasterize the R/G/B values for each polygon, multiply them by the fraction of the max distance, and merge them back into a multiband raster. Let me know if you want more detailed instructions on this part.