Specifically, what kind of conventions in terms of Activities does one follow? If I'm building a program with many screens, do I create an Activity for each screen?
If I want to properly navigate between Activities, do I stick intents in every activity? I want to make this code as clean and efficient as possible
In short: yes.
Although you can work around this by dynamically altering your UI inside a single Activity, android recommends that each application 'activity' should be coded in a separate Activity class.
See this quite good article on the android recommended way.
This Intent/Activity design pattern has many advantages, one of it being that you can override and extend other application activities with your own with matching intent filters.
I see that you are concerned about efficiency. Be assured that the Activity switching overhead is highly optimized in android (for example, a Dalvik instance is always preallocated, ready to handle a new activity without the context switching overhead).