I would recommend logrotate for most people since that is what will be rotating all the other logs (KISS: Keep it Simple Stupid). Logrotate doesn't restart all of Apache, rather it just sends it a signal that tells it to reopen all of it's log files and restart children. This signal can be SIGHUP, which causes the children to restart right away (which will interrupt downloads), or SIGUSR1, which does a graceful restart. With SIGUSR1, you have to delay the log processing until you think all the children would have died naturally. Either way, you probably want to analyze your logs, and time it for the lowest traffic period in the day or week.
Piped logs seems like it is the more powerful solution. A big advantage being that it will allow you to use a centralized logging system and take load of the web server itself. The manual itself says:
As with conditional logging, piped
logs are a very powerful tool, but
they should not be used where a
simpler solution like off-line
post-processing is available.
So apparently, don't use piped logging if you don't need it. I have used piped loging in the past as a hacky way to filter logs, and had no problem.