I smoke ten cigarettes a day
Yes. This is the normal way to say this.
I smoke ten cigarettes by day
No. The word 'by' can't be used like this. We can use the Latin word 'per', though. 'I smoke ten cigarettes per day.'
I smoke ten cigarettes each day
Yes, you can say that. It isn't wrong, but it isn't common either.
The best way to say this is the first - 'I smoke ten cigarettes a day'.