OK, so you want some tips on how to implement multiple table views in different view controllers where the tableviews are very similar. And you want a minimum of duplication of code or of effort.
First off I recommend you use UITableViewController if at all possible. You might also make your own view controller that is a base class that has common behavior that your other view controllers need.
A common design that has been discussed a lot lately is to use a separate class for the tableview datasource and tableview delegate. If the code for cellForRowAtIndexPath and related methods is the same for many of your view controllers then using a single class that is separate from your view controller that implements these methods will reduce duplication. In viewDidLoad you build one of these objects and set the tableview's delegate and datasource properties.
Regarding the cells there is a little more debate on the right way to do things. The storyboard allows you to add cells to each tableView complete with their layout. These cells are automatically registered with the tableView and can be dequeued without any further source code. I find this very convenient. However, in the case where you have the same cells in multiple tableViews you find yourself copy/pasting the cells from one tableView in the storyboard to another. If you later update the cell's layout you need to copy/paste again to keep things in sync. Another option is to build your tableViewCells in their own xib files. Then register the cells with the tableView in code. I find this messier but it is a viable option.