Wheel is the newer packaging format and is preferred if installing to site-packages. However, you can mix formats. You can install Trac as a wheel, some plugins as a wheel, some plugins as an egg.
Usually, it doesn't matter much if you use a wheel or an egg since most Trac plugins are pure python. The important thing is to use pip package manager rather than easy_install, because pip is better maintained and has features like uninstall, so old versions will be uninstalled on upgrade. That only matters though if you are installing to site-packages. I always use a virtualenv and install to site-packages.
Eggs are still needed if installing in the global or environment plugins directory. You can't create a wheel, put it in the plugins directory, and expect Trac to load it correctly. The topic is discussed here:
You can create a wheel with:
python setup.py bdist_wheel
Then you can publish it to pypi with twine.
- Ryan